软件测试方法和测试,软件测试方法与技术

检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确。局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误:

1 不合适或不相容的类型说明;

2变量无初值;

3变量初始化或省缺值有错;

4不正确的变量名(拼错或不正确地截断);

5出现上溢、下溢和地址异常。

除了局部数据结构外,如果可能,单元测试时还应该查清全局数据(例如FORTRAN的公用区)对模块的影响。

在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次。此时设计测试用例是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误。此时基本路径测试和循环测试是最常用且最有效的测试技术。计算中常见的错误包括:

1 误解或用错了算符优先级;

2混合类型运算;

3变量初值错;

4精度不够;

5表达式符号错。

比较判断与控制流常常紧密相关,测试用例还应致力于发现下列错误:

1不同数据类型的对象之间进行比较;

2错误地使用逻辑运算符或优先级;

3因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等;

4比较运算或变量出错;

5循环终止条件或不可能出现;

6迭代发散时不能退出;

7错误地修改了循环变量。

一个好的设计应能预见各种出错条件,并预设各种出错处理通路,出错处理通路同样需要认真测试,测试应着重检查下列问题:

1输出的出错信息难以理解;

2记录的错误与实际遇到的错误不相符;

3在程序自定义的出错处理段运行之前,系统已介入;

4异常处理不当;

5错误陈述中未能提供足够的定位出错信息。

边界条件测试是单元测试中最后,也是最重要的一项任务。众的周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。

单元测试过程

一般认为单元测试应紧接在编码之后,当源程序编制完成并通过复审和编译检查,便可开始单元测试。测试用例的设计应与复审工作相结合,根据设计信息选取测试数据,将增大发现上述各类错误的可能性。在确定测试用例的同时,应给出期望结果。

应为测试模块开发一个驱动模块(driver)和(或)若干个桩模块(stub),下图显示了一般单元测试的环境。驱动模块在大多数场合称为“主程序”,它接收测试数据并将这些数据传递到被测试模块,被测试模块被调用后,“主程序”打印“进入-退出”消息。

驱动模块和桩模块是测试使用的软件,而不是软件产品的组成部分,但它需要一定的开发费用。若驱动和桩模块比较简单,实际开销相对低些。遗憾的是,仅用简单的驱动模块和桩模块不能完成某些模块的测试任务,这些模块的单元测试只能采用下面讨论的综合测试方法。

提高模块的内聚度可简化单元测试,如果每个模块只能完成一个,所需测试用例数目将显著减少,模块中的错误也更容易发现。

cafeebde0cb93cade1cbc5874244bbd2.png

1 第1章 软件及其开发过程 1.1 软件的含义 1.2 软件开发过程的特性 1.3 软件测试的重要性 2 2 第2章 软件测试的基本概念和方法 2.1 软件质量就是客户的满意度 2.2 软件缺陷(Bug)是什么 2.3 软件测试的基本方法 2.4 软件测试的分类和阶段 2.5 软件测试的工作范畴 4 3 第3章 质量保证与测试策略 3.1软件质量保证 3.2测试策略 3.3测试计划 3.4软件质量的可靠性评估 3 3 第4章 软件测试依据和规范 4.1 软件质量标准 4.2 软件测试相关规范 4.3 CMM思想和结构体系 4.4 建立软件测试管理和评判体系 2 4 第5章 单元测试 5.1 什么是单元测试 5.2 单元测试的目标和任务 5.3 静态测试技术的运用 5.4 动态测试技术的运用 5.5 调试与评估 5.6 单元测试的过程与文档管理 5.7 单元测试的常用工具简介 4 5 第6章 集成测试和系统测试 6.1 系统集成的模式与方法 6.2 功能测试 6.3 系统测试 6.4 压力测试、容量测试和性能测试 6.5安全性测试,可靠性和容错性测试 5 6 第7章 验收测试 7.1验收测试的过程和主要内容 7.2产品说明书的验证 7.4兼容性测试 7.5可安装性和可恢复性测试 7.6文档测试 7.7验收测试报告和用户验收测试 2 7 第8章 面向对象软件测试 8.1 面向对象软件的特点 8.2面向对象测试的层次与数据流 8.3 面向对象的单元测试 8.4面向对象的集成测试 4 8 第9章 应用服务器的测试 9.1 应用服务器的分类和特征 9.2 基于Web服务器应用的测试 9.3 基于数据库应用服务器的测试 9.4 基于J2EE平台的测试 9.5 其他应用服务器应用的测试 4 9 第10章 软件本地化测试 10.1什么是软件本地化 10.2软件本地化的翻译问题 10.3软件本地化测试技术问题 10.4本地化测试的重点 2 10 第11章 软件测试自动化 11.1测试自动化的内涵 11.2 测试工具的分类和选择 11.3 测试工具的主流产品介绍 11.4 IBM-Rational产品的整体解决方案 11.5 Mercury Interactive产品的整体解决方案 11.6 Compuware产品的整体解决方案 6 11 第12章 组建测试队伍 12.l 测试队伍的地位和责任 12.2测试团队的构成 12.3如何从零开始 12.4测试团队的管理和发展 12.5优秀软件测试工程师的必备素质 2 11 第13章 测试环境的建立 13.1 测试环境的重要性 13.2 测试环境的各要素 13.3 建立测试实验室 13.4 测试环境的维护和管理 2 12 第14章 软件测试用例的设计 14.1 测试用例概述 14.2 白盒测试用例设计方法 14.3 黑盒测试用例设计方法 14.4 测试用例的组织和跟踪 3 13 第15章 报告所发现的软件缺陷 15.l 软件缺陷的描述 15.2 软件缺陷相关的信息 15.3 软件缺陷的处理和跟踪 2 14 第16章 测试软件质量分析报告 16.1软件产品的质量度量 16.2评估系统测试的覆盖程度 16.3软件缺陷分析方法 16.4 基于缺陷分析的产品质量评估 16.5 测试报告及其模板 4 15 -16 第17章 软件测试项目管理 17.1软件测试项目管理的概述 17.2 软件测试项目的组织 17.3软件测试项目的过程管理 17.4软件测试项目的资源管理 17.5 测试项目的进度管理 17.6 测试项目的风险管理 17.7 测试项目的质量管理和配置管理 17.8 软件测试文档的管理 6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值