
(四)软件测试
1.软件测试的目的
使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是否弄清预期的结果与实际结果之间的差别。
2.软件测试的准则
所有测试应追溯到需求
严格执行测试计划,排除测试的随意性
充分注意测试中的群集现象
程序员应避免检查自己的程序
穷举测试不可能
妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便
3.软件测试技术与方法综述
1)静态测试与动态测试
静态测试包括:代码检查、静态结构分析、代码质量度量等。
动态测试是基于计算机的测试,根据软件需求设计测试用例,利用这些用例去运行程序,以发现程序错误的过程。
2)白盒测试方法与测试用例设计
白盒测试也称结构测试或逻辑驱动测试。
白盒测试的原则:保证所有的测试模块中每一条独立路径至少执行一次;保证所有的判断分支至少执行一次;保证所有的模块中每一个循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性
主要的方法有:逻辑覆盖(包括语句覆盖、路径覆盖、判定覆盖、条件覆盖和判断—条件覆盖)、基本路径测试等
3)黑盒测试方法与测试用例设计
黑盒测试方法也称功能测试或数据驱动测试,是对软件已经实现的功能是否满足需求进行测试和验证。
黑盒测试主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错。
黑盒测试方法主要有:等价类划分法(包括有效等价类和无效等价类)、边界值分析法、错误推测法、因果图等,主要用于软件确认测试。
4.软件测试的实施
1)单元测试
对模块进行测试,用于发现模块内部的错误
2)集成测试
测试和组装软件的过程,主要用于发现与接口有关的错误。
集成测试包括的内容:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等。
集成测试分为:增量方式组装(包括自顶而下、自底而上、自顶向下和自底向上的混合增量方式)与非增量方式组装。
3)确认测试
验证软件的功能和性能及其他特征是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全、正确。
4)系统测试
将经过测试后的软件,与计算机的硬件、外设、支持软件、数据和人员等其他元素组合在一起,在实际运行环境中进行一系列的集成测试和确认测试。
2016年计算机二级公共基础学习教程:软件测试.doc