作者:雷神
郑人杰著《软件工程》学习笔记
什么是软件测试。
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的要害步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。
软件测试的目的和原则(测试的“三大纪律,八项注重”哈哈。)
软件测试的目的:
1、测试是程序的执行过程,目的在于发现错误;
2、一个好的测试用例在于发现至今未发现的错误;
3、一个成功的测试是发现了至尽未发现的错误的测试;
软件测试的原则:
1、应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
2、测试用例应由测试输入数据和与之对应的预期输出结果两部分组成。
3、程序员应避免检查自己的程序。(注重不是指对程序的调试)
4、在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。不合理的输入条件是指异常的,临界的,可能引起问题异变的输入条件。
5、充分注重测试中的群集现象。经验表明,测试后程序残存的错误数目与该程序中以发现的错误数目或检错率成正比。应该对错误群集的程序段进行重点测试。
6、严格执行测试计划,排除测试的随意性。
测试计划应包括:所测软件的功能,输入和输出,测试内容,各项测试的进度安排,资源要求,测试资料,测试工具,测试用例的选择,测试的控制方法和过程,系统的组装方式,跟踪规则,调试规则,以及回归测试的规定等等以及评价标准。
7、应当对每一个测试结果做全面的检查。
8、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
软件测试的对象:
软件测试并不等于程序测试。软件测试应该贯穿整个软件定义与开发整个期间。因此需求分析、概要设计、具体设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、具体设计规格说明以及源程序,都应该是软件测试的对象。
在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中表现出来。