软件测试

软件危机实际上仅是一种状况,那就是软件中有错误,正是这种错误导致了软件开发在成本、进度和质量上的失控。软件测试是软件质量保证的一项关键活动,它是通过对需求规格说明、软件设计说明和程序代码等进行复审,以保证在软件产品交付前,尽可能发现软件中潜伏的问题。

软件错误的定义:

(1)软件未达到产品说明书标明的功能;

(2)软件出现了产品说明书指明不会出现的错误;

(3)软件功能超出了产品说明书指明的范围;

(4)软件未达到产品说明书虽未指出但应达到的目标;

(5)软件测试人员认为软件难以理解、不宜使用、运行速度缓慢,或者最终用户不满意;

为把握软件开发各个环节的正确性,需要进行各种确认和验证工作。验证和确认是贯穿软件生命周期的规范化评估方法。软件验证则试图证明在软件生存期各个阶段,软件产品或中间产品是否能够满足客户需求,包括逻辑协调性、完备性和正确性。软件确认是一系列的活动和过程,其目的是保证软件产品能够符合其描述要求

从广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动,如设计评审、系统测试。狭义上讲,测试时对软件产品质量的检验和评价。它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。

Glen Myers对软件测试提出了以下观点:

(1)测试时一个程序的执行过程,其目的在于发现错误;

(2)一个好的测试用例很可能是发现至今尚未察觉的错误;

(3)一个成功的测试用例是发现至今尚未察觉的错误的测试。

软件测试的基本原则:

(1)应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭;

(2)程序员应避免检查自己的程序;

(3)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件;

(4)测试用例应由测试输入数据和与之对应的与其输出结果这两部分;

(5)充分注意测试中的群集现象;

(6)严格执行测试计划,排除测试的随意性;

(7)应当对每一个测试结果做全面检查;

(8)妥善保存一切测试过程文档,为维护提供方便;

原文地址:https://www.cnblogs.com/chenjie00/p/4316216.html