1.软件测试是软件质量保证的重要措施。测试的目的是在软件投入生产性运行前,应尽可能地发现并排除软件中隐含的各种错误。测试是对软件规格说明、设计和编码的全面和最后的审查。因此,软件测试应贯穿在整个软件开发的全过程。
⑴试陈述软件测试的基本任务和方法。(6分)
⑵简述黑箱测试和白箱测试的内容和方法。(10分)
⑶陈述软件测试过程的基本组成,并介绍各种测试对象的测试内容和方法(15分)
答案:(1)软件测试是软件开发过程中的重要阶段,是软件质量保证的重要手段.其任务可归纳为三个方面:
1)预防软件发生错误
2)发现改正程序错误
3)提供错误诊断信息
目前,软件测试的方法有三种:动态测试,静态测试和正确性证明.
(2)黑箱测试是一种功能测试,测试时完全不考虑程序内部细节,结构和实现方式,仅检验程序结果与说明书的一致性.测试实例设计完全以说明书为准.黑箱测试不关心程序内部的逻辑,而只是根据程序的功能说明来设计测试用例.在使用黑箱法时,手头只需要有程序功能说明就可以了.黑箱法分以下几种:等价分类法.边缘值分析法,因果图法,错误推测法。
白箱测试是一种结构测试,它与程序内部结构相关,要利用程序结构的实现细节知识设计测试实例.它将涉及程序设计风格,控制方法,潭语句,数据库设计,编码细节.白箱测试时将包括:
1)语句测试——要求程序中每个语句最少检查一次.
2)分支测试——要求程序中每个分支路径最少检查一次.
3)路径测试——要求程序中每条路径最少检查一次.
白箱测试考虑的是测试实例对程序内部逻辑的覆盖程度.为了衡量测试的覆盖程度,需要建立一些标准.覆盖程序从低到高分别为:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组全覆盖.
(3)
1)单元测试
通过测试发现该模块单元的子程序或过程的实际功能与该模块的功能和接口的描述是否相符,以及是否有编码错误存在.
2)集成测式
集成测试是在组装软件模块的同时,进行测试以查找与接口有关的错误.组装模块的过程可以分为自顶向下组装法和自底向上组装法.