软件测试

臧艳辉

目录

  • 1 走近软件测试
    • 1.1 走近软件测试
    • 1.2 一个软件测试工程师必备的专业技能和素质
    • 1.3 章节测验
  • 2 软件测试技术
    • 2.1 正确认识软件测试
    • 2.2 软件测试遵循的基本原则
    • 2.3 软件测试的分类
    • 2.4 软件测试的过程模型
    • 2.5 章节测验
  • 3 测试中缺陷的识别与描述
    • 3.1 初识软件缺陷
    • 3.2 全面解析软件缺陷
    • 3.3 有效的记录缺陷
    • 3.4 缺陷报告实例
    • 3.5 缺陷报告模板
  • 4 项目测试计划的制定
    • 4.1 一个项目完整的测试流程
    • 4.2 初识测试计划
    • 4.3 测试计划的基本机构和内容
    • 4.4 测试计划模板和案例
  • 5 初识软件测试用例
    • 5.1 什么是测试用例
    • 5.2 项目测试中设计测试用例的作用
    • 5.3 如何设计一个项目的测试用例
    • 5.4 在测试过程中测试用例怎样进行更新和维护
  • 6 使用等价类划分方法设计测试用例
    • 6.1 等价类划分法的基本思想
    • 6.2 进行等价类划分法的原则
    • 6.3 使用等价类划分法设计测试用例实例
  • 7 使用边界值分析法设计测试用例
    • 7.1 边界值分析法的基本思想
    • 7.2 如何确定边界
    • 7.3 测试知识储备
    • 7.4 使用边界值分析法设计测试用例实例
    • 7.5 项目中如何进行健壮性边界值测试
    • 7.6 等价类+边界值
    • 7.7 章节测试
  • 8 使用大纲法设计测试用例
    • 8.1 什么是大纲法
    • 8.2 项目中如何使用大纲法设计测试用例
  • 9 使用场景法设计测试用例
    • 9.1 什么是场景法
    • 9.2 项目中如何使用场景法设计测试用例
  • 10 因果图和决策表结合设计测试用例
    • 10.1 因果图法的介绍
    • 10.2 决策表的介绍
    • 10.3 项目中选用因果图法和决策表设计测试用例需考虑的问题
    • 10.4 使用因果图法和决策表设计测试用例
  • 11 功能测试
    • 11.1 什么是功能测试
    • 11.2 功能测试的主要内容及测试策略
    • 11.3 功能测试的方法汇总
    • 11.4 功能测试的经验及注意事项
  • 12 界面测试
    • 12.1 界面检查的通用原则
    • 12.2 具体的界面检查的举例
    • 12.3 设计界面测试用例
    • 12.4 界面测试标准总结
  • 13 软件的安装卸载测试
    • 13.1 软件的安装卸载测试
    • 13.2 软件的安装测试
    • 13.3 软件的运行测试
    • 13.4 软件的卸载的测试
  • 14 项目中如何使用进行有效的缺陷管理
    • 14.1 进行缺陷管理的目标是什么
    • 14.2 项目中缺陷管理的流程是怎样的
    • 14.3 缺陷的跟踪方法有哪些
  • 15 测试报告该如何撰写
    • 15.1 软件质量评估
    • 15.2 如何撰写测试报告
    • 15.3 如何写项目总结
    • 15.4 如何写个人测试总结
  • 16 集成测试
    • 16.1 初识集成测试
    • 16.2 集成测试方法
  • 17 白盒测试
    • 17.1 初识白盒测试
    • 17.2 白盒测试技术——逻辑驱动测试
    • 17.3 白盒测试技术——循环覆盖测试
    • 17.4 白盒测试技术——基本路径测
  • 18 软件测试技术及岗位需求介绍
    • 18.1 软件测试岗位需求
    • 18.2 软件测试技术介绍
    • 18.3 软件测试比赛内容
    • 18.4 软件测试岗位应聘简历撰写
如何撰写测试报告
  • 1 电子教材
  • 2 测试报告模板
  • 3 测试报告撰写指南


15.2  如何撰写测试报告

作为一个程序员如何写好代码是需要经常思考的问题,而作为一个测试人员如何写好测试报告同样是一项关键的工作。

写好测试报告除了具备最基本的写作技能、采用规范的测试报告模板之外,更重要的是对测试评估、质量分析所进行的深入研究。在对系统或产品作出质量分析之前,首先要了解测试执行的情况,要对测试人员或自己提出许多问题。

l)单元测试用什么方法?是否覆盖了程序的所有关键路径?是否满足程序中各种多分支的条件?

2)集成测试是否对所有接口和参数进行了全面的测试?

3)系统测试是否包含了兼容性、安全性和恢复性等测试?

4)测试用例是如何设计的?是否覆盖了用户特别的使用场景?

5)测试计划所要求的各项测试内容都完成了吗?

6)测试用例被100%执行了吗?

7)所有严重的缺陷都被修复了吗?

在这些问题得到肯定的答案之后,最难也是最关键的问题是评估软件系统的被测覆盖率。只有确认系统得到了充分的测试之后,针对测试结果的分析才具有可靠性和准确性。

15.2.1  一个项目为什么要撰写测试报告

测试总结的目的在于总结测试活动的结果,并根据这些结果进行评价。在测试的各个阶段完成后,我们都可以提供测试总结报告,它总结了上一阶段测试中产品存在的所有已知的缺陷,并提出改进和建议,决定是否可以进入下一阶段的测试。

15.2.2  一份项目测试报告中应包括哪些内容

下面是一份测试报告模板,列出了所涉及的条目和内容,大家在实际工作中可结合实际情况对这些内容进行增删。

1. 概述

1.1项目概述

描述本文件适用的项目名称、任务提出者、开发者及用户、项目提出的背景和主要实现功能。

1.2 术语与缩略语

列出本文件中使用的术语与缩略语。

1.3 参考与引用文档

列出有关资料的名称、文件编号及其发表日期、出版单位、作者等,并说明参考文件时源。参考资料包括:

Ø 经核准的计划任务书,上级机关批文、合同等。

Ø 本项目的其他已发表的文件。

Ø 引用文件、资料、软件开发标准。

2. 测试情况

2.1 测试机构和人员

说明测试机构名称、负责人和参与测试人员名单。

2.2 测试结果

列出每个测试项目的实际结果和遗留问题。对遗留问题说明解决的计划(包括优先级、采用的方法、进度、工作量和人员责任)。可采用如表15-1所示的格式。

15-1测试遗留问题列表

问题编号

遗留问题描述

问题级别/状态

解决计划





3. 测试统计

3.1测试统计表

测试统计表如表15-2所示。

15-2测试统计表

表格名称

测试统计表

表格编号


项目名称


项目简码


测试类别

确认测试

测试用例统计

测试结果


通过






不通过






总计





测试问题统计

自动生成数据

问题严重性

问题类型

问题状态


致命


程序逻辑


已修改


死机


接口处理


重复提交


功能问题(高中低)


数据定义


不修改


界面问题


计算


不重现


建议


需求


无法修改



设计

其他


暂不修改

不是缺陷


总计







3.2测试统计表

根据统计表分别生成测试结果、测试类型、测试状态和问题严重性的饼图。

4. 测试评价

说明此测试是否满足测试通过准则,进入下一个阶段。

15.2.3  测试报告的案例分析

案例1

*************************************************************************

xx系统确认测试测试报告

1. 概述

1.1项目概述

项目名称: xx系统

任务提出者:yy公司

开发者: zz公司软件业务部

用户:yy公司

项目背景:yy公司为完善收费系统功能,加强对客户欠费的管理,防止不良用户恶意欠费,提高催欠工作效率,减少话费大量流失所造成的巨额损失,决定构建一套高效、可靠的欠费管理系统,并由zz公司承担该应用软件的开发任务,为该系统提供强有力的支持。主要功能:欠费数据资料的交换和获取,催缴策略的定制、执行和管理,操作人员的绩效考核,综合统计查询和系统辅助功能,系统目标是实现高效、灵活、可靠的欠费管理、催缴管理、绩效考核和过程监控,满足业务发展需要。

1.2术语与缩略语

1.3参考与引用文档

xx系统需求规格说明书》(TS-A03008-SRS)

xx系统项目测试计划》(TS-A03008- TP)

xx系统测试用例表》

xx系统测试问题表》

*************************************************************************

如同测试计划的编写一样,首先要说明本报告是哪一个测试活动的总结,接下来就是对要测试项目的基本情况进行说明,包括测试对象及版本、功能介绍、开发背景等,然后定义本文档中的常用术语的含义,并指明该测试活动所依据的参考文档,如测试计划、测试用例等。

案例2

*************************************************************************

2. 测试情况

2.1测试机构和人员

测试机构: zz公司软件业务部

负责人:孔x

测试人员:朱x,张x

2.2测试结果

测试结果如表15-3所示

15-3测试遗留问题列表

问题编号

遗留问题描述

问题级别/状态

解决计划

PR-17

在人工催缴处理模块中,选择关联号码,查出的关联号码应该只包括人工催缴的号码,不包含其他催缴方式的号码,如输入关联号码82884403

问题级别:功能问题问题状态:暂不修改

由项目经理和开发人员讨论决定该功能。在验收测试完成前解决该问题

PR-23

关联用户处理模块中,用户原来已有一个关联号码,目前系统不允许再添加一个关联电话,如输入号码82656328

问题级别:建议问题状态:暂不修改

与用户讨论,决定是否添加此功能,由尚x负责在验收测试完成前解决该问题

PR-29

欠费催缴策略定制,单击设置有效策略按钮后列表状态没刷新,仍显示为无效

问题级别:功能问题问题状态:不重现

由测试人员在下一阶段测试中尝试重现该问题,若到验收测试结束还不能重现,那么关闭该问题

*************************************************************************

测试报告还要说明测试时间、地点和人员,并且要记录测试过程中发生已进行报告但是仍未解决的遗留问题。所有遗留问题都统一采用表格的形式来表现。该表格的内容应该尽可能和缺陷报告中对问题的描述文字一致。其中要注意以下几点:

Ø 问题编号:缺陷报告中的缺陷ID编号。

Ø 遗留问题描述:给出缺陷的详细描述,包括测试的步骤、预期和实际输出结果,应该详细写出对定位和修正该缺陷有帮助的活动和现象。遗留问题应包括缺陷报告中问题状态为“不修改”、“不重现”、“无法修改”、“暂不修改”的所有缺陷。

Ø 问题级别和状态:指明遗留的未修改的缺陷。

Ø 解决计划:针对此问题分析影响程度,提出应对策略和应急措施,说明解决的优先级、采用的方法、完成的进度、工作量和负责的具体人员。

案例3

*************************************************************************

3. 测试统计

3.1测试统计表

测试统计表如表15-4所示。

15-4测试结果统计表

表格名称

测试统计表

表格编号

SPE-TR1

项目名称

xx系统

项目简码


测试类别

确认测试

测试用例统计


测试结果

通过

435

不通过

51

总计

486

测试问题统计

自动生成数据

问题严重性

问题类型

问题状态


致命

1

程序逻辑

18

已修复

43

死机

1

接口处理

13

重复提交

3

功能问题(高中低)

32

数据定义

12

不修改

0

界面问题

10

计算

0

不重现

1

建议

7

需求

1

无法修改

1


设计

2

暂不修改

2

其他

5

不是缺陷

1

总计


51


51


51

3.2测试统计图

在测试报告中可以建立一个问题统计表格和若干图表,以便对缺陷的相关分布信息有整体的了解,根据此调整下一阶段的测试重点。统计表内容包括如下几点,如图15-6所示。

Ø 测试结果统计:对本次测试的测试用例进行统计,包括通过多少测试用例,多少项测试用例失败。也可以把详细的测试用例清单放在附件中。

Ø 问题严重性:对本次测试的缺陷的严重性进行统计,缺陷的级别与缺陷报告中保持一致,分为致命、死机、功能问题(高中低)、界面问题和建议。

Ø 问题类型:对本次测试的缺陷的产生类型进行统计,该项内容是由程序员在修改缺陷的时候填入缺陷报告的,缺陷类型分为程序逻辑、接口处理、数据定义、计算、需求、设计和其他。

Ø 问题状态:对本次测试的缺陷的最终状态进行统计,缺陷状态分为己修改、重复提交、不修复、不重现、无法修改、暂不修改和不是缺陷。

 

 

15-6 测试结果统计图

案例4

*************************************************************************

4. 测试评价

测试时间: 2003/11/3-2003/12/2

测试人员: 2

测试工作量: 44人日。

实际测试环境: Windows 2000

测试活动简述:根据测试用例进行系统的确认测试,提交相应的缺陷报告,并进行回归测试,共进行了3次版本的升级。

测试总结:系统通过确认测试,功能符合需求规格说明书的规定,可以进入验收测试阶段。

测试改进建议:无

*************************************************************************

在测试总结的最后,要进行错误的评估,对被测对象及测试活动分别给出总结性的评估,包括稳定性、测试充分性。对被测对象和测试活动的评估必须参照软件需求规格说明书的要求,分析被测对象与软件需求规格的偏离程度、偏离点,同时需要对结果偏离及测试不充分引起的失败风险进行评估。

另外,要总结本次测试活动的经验教训,总结主要的测试活动和事件,总结资源消耗数据,如总人员、总机时,每个主要测试活动花费的时间。提供对本次测试过程活动的测试设计和操作的改进建议。每一条建议的分析及其对软件测试的影响也应提供。如果没有推荐改进,则提供“无”。

15.2.4  测试报告模板

请见电子版