发信人: johnson_1()
整理人: leeyg(2001-06-05 22:55:44), 站内信件
|
向系统分析员冲刺(22)——试论软件测试
JOHNSON
*************************
试论软件测试
JOHNSON
经过需求分析,设计和编码阶段的开发后,得到了源程序,开始进入软件测 试阶段。由于在测试前的各阶段中都可能在软件产品中遗留下许多错误和缺陷, 如果补及时找出这些错误和缺陷,并将它改正,软件产品就不能正常使用,甚至 会造成重大损失!
软件测试是发现软件中错误和缺陷的主要手段。
1、软件测试的目的
目的是尽可能多地发现软件产品中的错误和缺陷。
2、软件测试的原则
在软件测试中,我们一般遵循以下一些测试原则:
(1)确定预期输出结果是测试用例必不可少的一部分;
(2)程序员应避免测试自己的程序,程序设计机构不应测试自己的程序;
(3)彻底检查每个测试结果;
(4)对非法的和非预期的输入数据也要像合法的和预期的输入数据一样编写测试 用例;
(5)即检查程序是否做了应该做的事,还有看程序是否做了不该做的事;
(6)除非该程序无用,不要扔掉测试用例;
(7)一般来说,程序中的大量错误仅与少量的程序模块有关;
等等。
(8)设计测试用例的各种规则和策略。
a.测试用例的代表性:能够代表各种合理和不合理的、合法的和
非法的、边界和越界的,以及极限的输入数据、操作和环境设置等;
b.测试结果的可判定性:即测试执行结果的正确性是可判定的或
可评估的;
c.测试结果的可再现性:即对同样的测试用例,系统的执行结果应
当是相同的。
3、测试用例可以划分为白盒测试和黑盒测试
白盒测试是根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都 按照预定的要求正确工作。
黑盒测试根据规格说明书规定的功能来设计测试用例,检查程序的功能是否符合 规格说明的要求。
4、软件测试的主要步骤有单元测试,集成测试,确认测试,系统测试
测试内容 主要发现哪些阶段错误 通常的测 试方式
单元测试(模块测试) 模块的功能和算法 编码和详细设计阶段 白盒测试
集成测试(组装测试) 模块间的接口和通讯 设计阶段 黑盒测试
确认测试 软件的功能、性能等 以需求规格说明书为依据 黑盒测 试
系统测试 软件与硬件和其他相关因素
5、软件测试的基本过程管理
软件测试是一个极为复杂的过程。一个规范化的软件测试过程通常须包括以 下基本的测试活动。
·拟定软件测试计划
·编制软件测试大纲
·设计和生成测试用例
·实施测试
·生成软件问题报告
·对整个测试过程进行有效的管理
实际上,软件测试过程与整个软件开发过程基本上是平行进行的。
测试计划早在需求分析阶段即应开始制定。其它相关工作,包括测试大纲的制 定、测试数据的生成、测试工具的选择和开发等也应在测试阶段之前进行。充分 的准备工作可
以有效地克服测试的盲目性,缩短测试周期,提高测试效率,并且起到
测试文档与开发文档互查的作用。
此外,软件测试的实施阶段是由一系列的测试周期(Test Cycle)组成的。在每 个测试周期中,软件测试工程师将依据预先编制好的测试大纲和准备好的测试用例 ,对被测软件进行完整的测试。测试与纠错通常是反复交替进行的。当使用专业测 试人员时,测试与纠错甚至是平行进行的,从而压缩总的开发时间。
更重要的是,由于专业测试人员丰富的测试经验、所采用的系统化的测试方法 、全时的投入,特别是独立于开发人员的思维,使得他们能够更有效地发现许多单 靠开发人员很难发现的错误和问题。
软件测试大纲是软件测试的依据。它明确详尽地规定了在测试中针对系统的 每一项功能或特性所必须完成的基本测试项目和测试完成的标准。无论是自动测 试还是手动测试,都必须满足测试大纲的要求。
*************************
本系列文章将以日记的形式,记叙一个非计算机专业的人士向计算机领域最高水 平考试冲刺的经历。JOHNSON也很愿意同广大的参加水平考试的人士,计算机爱好 者进行交流,JOHNSON的EMAIL是[email protected]
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 203.207.170.238]
|
|