软件质量与软件测试:
软件测试是软件质量保证工作的一个重要环节。软件测试和软件质量保证是软件质量工程的两个不同层面的工作。软件测试只是软件质量保证工作中的一个重要环节。质量保证(QA)的工作是通过预防、检查与改进来保证软件的质量,它所关注的是软件质量的检查和测量。软件测试所关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。
软件测试定义:
软件测试就是在软件投入运行前对软件需求分析、软件设计规格说明和软件编码进行的查错(包括代码执行活动与人工活动)。软件测试是为了发现错误而执行程序的过程。软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序的错误。是在软件投入运行前,对软件需求分析、软件设计规格说明和软件编码的最终复审,是软件质量保证的关键步骤。
软件测试目的:
(1)测试是一个为了寻找错误而运行程序的过程;
(2)一个好的测试用例是指很可能找到迄今为止未发现的错误的用例;
(3)一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
软件测试的目标是能够以耗费最少时间与最小工作量找出软件系统中潜在的各种错误与缺陷。
测试只能证明程序中错误的存在,但不能证明程序中没有错误。
软件测试原则:
(1)尽早地并不断地进行软件测试;
(2)程序员或程序设计机构应避免测试自己设计的程序;
(3)测试前应当设定合理的测试用例;
(4)测试用例的设计不仅要有合法的输入数据,还要有非法的输入数据;
(5)在对程序修改之后要进行回归测试;
(6)充分注意测试中的群集现象;
(7)妥善保留测试计划、全部测试用例、出错统计和最终分析报告,并把它们作为软件的组成部分之一,为软件的维护提供方便;
(8)应当对每一个测试结果做全面检查;
(9)严格执行测试计划,排除测试的随意性。
软件测试对象:
软件的测试不仅仅是程序的测试,软件的测试应贯穿于整个软件生命同期中。在软件定义阶段产生的可行性报告、项目实施计划、软件需求说明书或系统功能说明书,在软件开发阶段产生的概要测试说明书、详细设计说明书,以及源程序等都是软件测试的对象。
软件测试过程模型:V模型、W模型、H模型。
软件测试模型的使用:在实际软件测试的实施过程中,应灵活地运用各种模型的优点,通常可以在W模型的框架下,运用H模型的思想进行独立的测试。当有变更发生时,按X模型和前置模型的思想进行处理。同时,将测试和开发紧密结合,寻找恰当的就绪点开始测试,并反复进行迭代测试,以达到按期完成预定的目标。
软件问题分类:软件错误、软件缺陷、软件故障、软件失效。