论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
一.引言
软件测试是伴随着计算机软件的产生而产生的。在早期软件开发的过程中,软件就是由程序员写的简单计算机程序代码。因而,软件测试的含义比较狭窄,测试等同于“调试”。软件测试的目的就是为寻找和纠正软件中的故障,这部分的工作常常由开发人员自己完成。直到上世纪80年代早期,软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题。制定了各类标准,软件测试是高质量、高可靠性软件的重要保证。在软件系统的开发中,软件测试不仅是软件生命周期中的一个独立的阶段,在需求分析、软件设计和编码阶段,都需要对这些阶段的软件产品,包括需求规格说明书、软件架构、概要设计和详细设计说明书进行测试。软件测试已经形成了完整的、系统的测试方法,并且有众多的手工和自动化测试工具支持这些方法。通过评审文档、阅读代码等方式测试软件称为静态测试,通过运行程序测试软件称为动态测试。在动态测试中,通常使用白盒测试和黑盒测试从不同的角度设计测试用例,查找软件代码中的错误。
二.白盒测试
白盒测试也叫结构测试,目的是发现程序编码过程中的错误。编写代码的过程中,程序员的编程经验、对开发工具的掌握程度、编程时的精神状态,都可能使他在编码过程中引入错误。对于基本的语法错误,调试程序时就能发现并纠正。但对于运算顺序、逻辑判断、执行路径上的错误,调试程序时很难发现。事实上,即使编程水平很高的程序员,也无法保证代码的结构没有任何错误。白盒测试将被测程序看作一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构。因此,白盒测试可以用来对代码结构进行全面测试。
(科教论文网 lw.nSeAc.com编辑发布)
这样,同样我们还可以设计出一组白盒测试通过例子来验证此程序的正确性,具体的验证过程见表1。
表1 白盒测试用例
黑盒测试需要确认本程序能正确完成需求中规定的加减乘除运算。可以设计一组黑盒测试用例,见表2。
黑盒测试时,有时还需要执行健壮性测试,即测试软件处理异常或错误输入的能力。对这个例子,输入两个或一个非数值的数据时,应该能够报错;
表2 黑盒测试用例
五.结束语
软件测试无法做到穷举测试。在上例中,仅仅两个实数的加运算就有无穷多种可能的输入。设计和运行测试用例还需要耗费人力和物力。因此,软件测试追求的目标是以尽可能少的测试用例发现软件中尽可能多的错误或缺陷。白盒测试验证程序的正确性,黑盒测试确认软件满足需求,两者各有优缺点。动态软件测试实践中,通常单元测试阶段主要使用白盒测试,集成测试和系统测试阶段主要使用黑盒测试。两种不同的测试方式各有各的侧重点。在具体的测试环境中我们要根据实际情况来选取合适的软件检测方法。