常用的测试方法和测试工具-1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用的测试方法
一、黑盒测试
1.黑盒测试其实是一种功能测试,主要在软件的接口处进行。主要测试的以下几类错误:
·是否有不正确或遗漏的功能
·在给出的接口处正确的输入是否有正确的输出
·是否有数据结构错误或外部信息访问错误
·性能上是否满足要求
·是否有初始化或终止性错误
2.黑盒测试用例
·等价类划分
等价类即输入域的子集合,测试用例设计时应设计出对应的有效等价类和无效等价类
·边界值
边界值法是对等价类划分方法的补充,主要是测试发生在输入和输出域边界上的错误.等价类划分和边界值着重考虑输入条件,但测试时还应考虑输入条件之间的关系,各种条件的组合情况,即因果图
·因果图
根据输入条件间的关系生成判定表,根据判定表的每一列来设计测试用例·功能图
包括状态迁移图和逻辑模型
二、白盒测试
1.白盒测试是对软件过程性细节做细致的检查。主要对软件程序模块做以下检
查:
·对模块的所有路径至少执行一次
·对模块的所有逻辑判断,取“真”和“假”两种情况各执行一次
·在循环边界和运行界限内执行循环体
·测试内部数据结构的有效性
2.白盒测试用例
1)逻辑覆盖
·语句覆盖
·分支覆盖
对程序模块中的每个取真分支和取假分支执行一遍
·条件覆盖
对程序模块中的每个判断的每个条件执行一遍
由于以上的测试用例都有较大的缺陷,所以一般不会使用,采用条件组合覆盖更为合理有效
·条件组合覆盖(逻辑覆盖的主要方法)
2)基本路径测试用例
测试步骤:
①根据详细设计或源代码导出程序控制流图
②计算程序环路复杂性,即独立路径的数目(一条新的路径必须包含
一条新边)
③生成测试用例(辅助工具:图形矩阵)
测试策略
一、单元测试
1.单元测试时主要对模块的以下5个方面进行检查:
·模块接口
·局部数据结构
·边界条件
·独立路径
·出错处理
二、集成测试
1.集成测试时主要要考察程序的以下几个方面:
·各个模块连接时,穿越模块接口的数据是否会丢失
·一个模块是否会对另一个模块的功能产生不利的影响
·各个子功能组合起来,能否达到预期的父功能
·全局数据结构是否有问题
·单个模块的误差累积起来,是否会被放大,从而达到不可接受的程度
2.集成测试的组织和实施中考虑的因素:
·选用何种系统集成方法来进行集成测试
·各个模块连接的顺序
·模块代码编制和测试进度是否集成测试的顺序是否一致
·测试过程中是否需要有专门的硬件
3.集成测试完成的标志
·成功执行了测试计划中规定的所有组装测试
·修正了所发现的错误
·测试结果通过了专门小组的评审
三、确认测试
1.确认测试流程:
·进行有效性测试,即在模拟的环境下(可能是开发环境),运用黑盒测试的方法,验证所没软件是否满足需求说明书列出的需求。对于测试结果与预期结果不相符进,要提交一份问题报告。
·软件配置复查
软件配置复查的目的是保证软件配置的所有成份都齐全,各方面的质量都符合要求。
·a测试和ß测试
a测试是一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。ß测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试
·验收测试
验收测试时软件开发人员和QA人员也应参加,由用户参加设计测试用例,使用用户界面输入测试数据,并分析测试结果。
四、系统测试
即通过确认测试的软作为整个系统中的一个元素而进行的测试。
嵌入式系统测试方法及工具
通常嵌入式系统对可靠性的要求比较高。嵌入式系统安全性的失效可能会导致灾难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对嵌入式系统,包括嵌入式软件进行严格的测试、确认和验证。
一般来说,软件测试有7个基本阶段,即单元或模块测试、集成测试、外部功能测试、回归测试、系统测试、验收测试、安装测试。嵌入式软件测试在4个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集成测试。前3个阶段适用于任何软件的测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地交互。
1.白盒测试与黑盒测试
由于严格的安全性和可靠性的要求,嵌入式软件测试同非嵌入式软件测试相比,通常要求有更高的代码覆盖率。对于嵌入式软件,白盒测试一般不必在目标硬件上进行,更为实际的方式是在开发环境中通过硬件仿真进行,所以选取的测试工具应该支持在宿主环境中的测试。
因为黑盒测试与需求紧密相关,需求规格说明的质量会直接影响测试的结果,黑盒测试只能限制在需求的范围内进行。在进行嵌入式软件黑盒测试时,要把系统的预期用途作为重要依据,根据需求中对负载、定时、性能的要求,判断软件是否满足这些需求规范。为了保证正确地测试,还须要检验软硬件之间的接口。嵌入式软件黑盒测试的一个重要方面是极限测试。在使用环境中,通常要求嵌入式软件的失效过程要平稳,所以,黑盒测试不仅要检查软件工作过程,也要检查软件换效过程。
2、目标环境测试和宿主环境测试
在嵌入式软件测试中,常常要在基于目标的测试和基于宿主的测试之间作出折衷。基于目标的测试消耗较多的经费和时间,而基于宿主的测试代价较小,但毕竟是在模拟环境中进行的。目前的趋势是把更多的测试转移到宿主环境中进行,但是,目标环境的复杂性和独特性不可能完全模拟。
在两个环境中可以出现不同的软件缺陷,重要的是目标环境和宿主环境的测试内容有所选择。在宿主环境中,可以进行逻辑或界面的测试、以及与硬件无关的测试。在模拟或宿主环境中的测试消耗时间通常相对较少,用调试工具可以更快地完成调试和测试任务。而与定时问题有关的白盒测试、中断测试、硬件接口测试只能在目标环境中进行。在软件测试周期中,基于目标的测试是在较晚的“硬件/软件集成测试”阶段开始的,如果不更早地在模拟环境中进行白盒测试,而是等到“硬件/软件集成测试”阶段进行全部的白盒测试,将耗费更多的财力和人力。