【软件开发】测试这件“小事”

1、定义:描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

既然提到了测试,自然而然要涉及到为什么要测试这个话题,所以,接下来就是一起来探索为什么要测试/span>

1、测试分类:测试目的的不同,还有回归测试、压力测试、性能测试等,分别为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力等。

  •  角度细分:

 (2)从是否执行程序的角度:A.静态测试;B.动态测试;

  • 阶段细分:

2、测试原则:一、测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。
  二、程序员应该避免检查自己的程序,软件测试应该由第三方来负责。
  三、设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态,如网络异常中断、电源断电等。
  四、应该充分注意测试中的群集现象。
  五、对错误结果要进行一个确认过程。一般由A测试出来的错误,一定要由B来确认。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格地确认,是否真的存在这个问题以及严重程度等。
  六、制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
  七、妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
3、测试目标:(1).发现一些可以通过测试避免的开发风险。
   (2).实施测试来降低所发现的风险。
   (3).确定测试何时可以结束。
   (4).在开发项目的过程中将测试看作是一个标准项目。
4、测试的对象:程序、数据、文档。
5、测试过程:第一步:对要执行测试的产品/项目进行分析,确定测试策略,制定测试计划。该计划被审核批准后转向第二步。测试工作启动前一定要确定正确的测试策略和指导方针,这些是后期开展工作的基础。只有将本次的测试目标和要求分析清楚,才能决定测试资源的投入。
  第二步:设计测试用例。设计测试用例要根据测试需求和测试策略来进行,进度压力不大时,应该设计的详细,如果进度、成本压力较大,则应该保证测试用例覆盖到关键性的测试需求。该用例被批准后转向第三步。
  第三步:如果满足“启动准则”(EntryCriteria),那么执行测试。执行测试主要是搭建测试环境,执行测试用例。执行测试时要进行进度控制、项目协调等工作。
  第四步:提交缺陷。这里要进行缺陷审核和验证等工作。
  第五步:消除软件缺陷。通常情况下,开发经理需要审核缺陷,并进行缺陷分配。程序员修改自己负责的缺陷。在程序员修改完成后,进入到回归测试阶段。如果满足“完成准则”(ExitCriteria),那么正常结束测试。
  第六步:撰写测试报告。对测试进行分析,总结本次的经验教训,在下一次的工作中改。
6、测试内容:软件测试主要工作内容是验证(verification)和确认(validation):
  验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件以正确的方式来做了这个事件(Do it right):1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程。2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程。3.评审、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
  确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件做了你所期望的事情。(Do the right thing):1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性。2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。


来源:Yolanda94

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年11月22日
下一篇 2016年11月23日

相关推荐