测试的基本概念和5要素

软件bug的主要原因:

     是因为开发人员没有理解、预见或测试所有可以运行的软件环境。本章主要讨论程序猿引入的bug和运行环境导致的bug

测试人员需要保持的基本态度:

    *“如何才能攻破这个功能”

    *“是研发人员的合作伙伴”

    *“是项目的首席风险官”

开发人员常有的态度:

    *“如何才能实现这个功能”

   *“我很辛苦的实现了我的功能,它是我的孩子,我已经花了很多心思”

自动化测试的问题

    1、代码运行的环境是一个测试环境,而不是一个真实的用户环境。

    2、通常是根据已经发生过的bug来设计,很难提前预言

测试应关注

    *从测试策略的角度来说,需要明确测什么(方向和战略)和怎么测试(战术)

      **单个单独的测试用例应该覆盖软件的哪些功能?哪些软件的功能必须放在一起测?应该先测哪个功能?如何决定哪个功能先测,哪个功能后测?如果一个项目中有多个测试人员,应该使用什么样的测试策略,以确保每个测试人员的工作相辅相成,而不是相互重叠?

     *速度、规律、可重现

     *测试要求精确,精确性主要是针对测试结果和对被测系统的熟悉

     *但也可以允许一定的模糊和笼统,为了方便探索

     *测试需要学会善用工具


决策分为5个部分:输入(input)、状态(state)、代码路径(code path)、用户数据(user data)和执行环境(execution environment)

输入:输入中使用选中的子集,通过推理认定是否这些输入已经足够了

    *需要确定有哪些输入

    *需要确定哪些输入值和其他输入有关联,确定如何覆盖

    *输入这些值的先后顺序是否会导致问题

    *特别注意测试错误处理代码,很多开发没有出错处理或者出错处理草草了事

    *特别注意开发人员对输入的合法性检查,以及是否有途径可以绕过合法性检查

    *注意出错时,显示的错误信息

    *注意修改输入数据,导致函数的异常出错,来看出错处理是否出了问题

    *找出相关的特殊字符,然后使用它们做测试输入值

    *找出设计中所有的输入相关的假定,注意观察程序设计中假定的默认值不一样的数据或类似的数据

    *注意输出,注意初始状态对输出的影响,注意是否需要重复运行几遍?

    *注意根据属性和输出结果选择输入

状态:单个输入、一些输出或是全部输入都会被软件“记住”

    *了解哪些数据被存储(如果可以深入代码层,可以考虑状态数据如何输出或保存可以更好的验证)

    *持续不断的运行软件,中止运行,再运行软件

    *了解哪些状态是临时的(比如程序终止时,该状态会被忘却);哪些状态是长期保存的,存储在哪?状态的生命周期有多长?

   *了解哪些状态是会累加,考虑是否会发生溢出

   *整理输入和状态之间的关系

   *如果多个输入某种程度上相关联,那么它们可以考虑放在一起测试

代码路径:

   *尽可能的提高代码路径的覆盖率(白盒测试和code review有绝对优势)

用户数据:

  *和软件真实用户使用的数据尽量相似

  *大数据量的情况和数据类型的分类

运行环境:

  *使用的操作系统和当前配置

  *包括运行在同一系统上会和被测软件进行交互的其他一些应用程序

  *软件当前的网络情况、网络的可用带宽、性能等

  *和被测程序共享一些模块的其他程序



以谦卑的心感受,以感恩的心生活

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 9,372评论 2 126
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 22,410评论 7 278
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 6,878评论 5 101
  • 1.问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 首先,将问题提...
    qianyewhy阅读 9,396评论 4 123
  • 这周做得好的方面: 1.早起,运动都不错 2.开始青蛙打卡 3.钢琴一周练了四次 有待改进的方面: 1. 没有做到...
    心雨Michelle阅读 124评论 0 2

友情链接更多精彩内容