- 验收测试(Acceptance Test):在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。
- 验收测试的目的:确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
- 验收测试的参与者:用户,还可能有软测工程师等。
1 、验收测试的过程和主要内容
前提: 系统或软件产品已通过了系统测试的软件系统。
测试内容: 验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准则)中的要求,测试试图尽可能地发现软件中存留的缺陷,从而为软件进一步改善提供帮助,并保证系统或软件产品最终被用户接受。主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、操作手册等)测试等几个方面的内容。
任务: 验证软件的功能和性能符合用户期待。
测试步骤:
- 制定测试计划,测试项,测试策略及验收通过准则,并经过客户参与的计划评审。
- 建立测试环境,设计测试用例,并经过评审。
- 准备测试数据,执行测试用例,记录测试结果。
- 分析测试结果,根据验收通过准则分析测试结果,作出验收是否通过及测试评价。 测试项目通过; 测试项目没有通过,并且不存在变通方法,需要很大的修改; 测试项目没有通过,但存在变通方法,在维护后期或下一个版本改进; 测试项目无法评估或者无法给出完整的评估。此时必须给出原因。如果是因为该测试项目没有说明清楚,应该修改测试计划。
- 提交测试报告。
验收标准和注意事项:
- 验收测试完成标准: 完全执行了验收测试计划中的每个测试用例。
- 在验收测试中发现的错误已经得到修改并且通过了测试或者经过评估留待下一版本中修改。
- 完成软件验收测试报告。
注意事项:
- 必须编写正式的、单独的验收测试报告
- 验收测试必须在实际用户运行环境中进行 由用户和测试部门共同执行。
- 如公司自开发产品,应由测试人员,产品设计部门,市场部门等共同进行。
α测试和β测试
- α测试是指软件开发公司组织内部人员模拟各类用户对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。
- 经过α测试调整的软件产品称为β版本。β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见
2 、产品规格说明书的验证
产品规格说明书(Specification)
- 基于用户需求的定义,详细描述将要开发出一个什么样的产品,包括产品的用途、有哪些功能、用户界面的表现形式及其交互特性等。
- 遵守公司内部约定的模板或其他要求。
- 采用Word、PDF、Visio或HTML等文档格式,包括文字、表格、图形甚至动画等内容。
产品规格说明书决定了最终需要开发出的产品,对产品规格说明书的充分评审,可以排除约60%的错误,为项目节约大量成本。
评审方法包括
- 同行评审(Peer-to-peer Review)
- 走查(Walkthrough)
- 正式会议审查(Inspection)
- 属于功能性测试范畴
- 测试人员不仅要根据产品说明书的每一个特性导出测试用例,而且针对上述的变动,及时更新测试用例,确保产品规格说明书和测试用例保持一致
- 提交基于产品规格说明书的验收报告
可以正式的,也可以非正式的
包括所有特征的清单:
- 已经实现的特性标识为通过。
- 特性没有实现的,报告缺陷并在报告中体现。
- 特性基本实现,但与产品说明书中内容不相一致。
- 报告缺陷并在报告中体现。 特性基本实现,但存在一些问题或错误。
3、 用户界面和可用性测试
用户界面的7个要素: 符合标准和规范。 直观性。 一致性。 灵活性。 舒适性。 正确性。 实用性。
易用性测试没有具体量化的指标,主观性较强。
3.1 符合标准和规范:
- 何时使用复选框,何时使用单选按钮
- 何时使用提示信息、警告信息或者严重警告信息等
3.2 直观性
- 首先确定功能操作界面、提示或期待的结果是否直观、显著,并是否在预期的地方或时间出现
- 其次,考虑用户界面的组织和布局是否合理,界面是否整洁、不拥挤、以及是否有多余的功能,是否复杂难以掌握
3.3 一致性
- 软件本身的一致性
- 与公司其他软件、第三方软件的一致性
- 字体是否一致
- 界面的各元素风格是否一致
- 平台的标准和规范是否一致
3.4 灵活性
用户喜欢可以灵活选择的软件,软件可以选择不同的状态和方式,完成相应的功能。
- 但灵活性也可能发展为复杂性,太多的状态和方式的选择增加的不仅仅是用户理解和掌握的困难程度。
- 多种状态之间的转换,增加了编程的难度,更增加了软件测试人员的工作量。
3.5 舒适性
恰当的表现、合理的安排、必要的提示或更正能力等是要考虑的因素,包括容错处理和性能。
例如苹果公司推出的一系列产品。
3.6 正确性
- 正确性的问题一般都很明显,比较容易发现。
- 是否有多余或遗漏的功能
- 功能是否被正确实现
- 语言拼写是否无误
- 在不同媒介上的表现是否一致
- 所有界面元素的状态是否都准确无误
3. 7 实用性
- 指软件产品的各个功能是否实用 (无用的功能会增加程序的复杂度,产生不必要的缺陷)。
- 软件开发和维护过程中,随着软件演化会产生一些没有实用价值的功能。
- 没有一个具体量化的指标,主观性较强。
3.8 简单性
4 、兼容性测试
兼容性包括: 硬件兼容、 软件之间兼容、 数据之间兼容。
4.1 软件兼容性
软件兼容性测试是指验证软件之间是否能够正确的交互和共享信息,包括同步共享、异步共享,还包括本地交互、远程通信交互。
1、向前和向后兼容
- 向后兼容是指可以使用以前版本的软件
- 向前兼容是指可以使用未来版本的软件
- 向后兼容是必要的
- 向前兼容虽然并不是必须的,但是需要努力做到
4.2 多版本的测试
- 验证操作系统新版本是否兼容数百万个应用程序
- 需要采取有效的测试策略,例如对所有可能的组合进行等价划分、优化,获得最少的有效测试集合。通常做法包括:
将软件分类,如字处理、电子表格、数据库、图形处理和游戏等,从每种类型中选择部分测试软件
按照软件的流行程度选择较流行的软件
按照软件发布的时间,选择最近年份内的程序和版本
例: 设计测试矩阵表
每一个浏览器和版本支持的特性上都有细微的差别,在不同的操作系统上表现也有所不同。
针对一个网站的兼容性测试:
数据共享兼容性测试表现的方面
- 剪切、复制和粘贴
- 文件的存取 (文件的数据格式必须符合标准,能被其他应用软件读取)
- 文件的导入和导出
4.3 硬件兼容性测试
配置测试的必要性( 计算机配置的复杂多样性)
配置测试的基本方法
- 配置测试的主要任务是发现硬件配置缺陷
- 判断一个缺陷是否是配置缺陷,常用方法是在另一台不同配置的计算机上执行相同操作,如果缺陷没有出现,就可以是配置缺陷
- 存在组合爆炸问题,可以考虑采用等价类划分、组合测试等技术进行划分和优化
4.4 可安装性和可恢复性测试
软件测试中容易忽略的一个环节
可安装性测试: 系统软件安装、应用软件安装、服务器的安装、客户端的安装、产品升级安装等
安装与卸载测试
- 软件安装方式多样化:有客户端软件安装、有通过浏览器下载安装、服务器端的系统部署、云服务平台等
- 客户端安装测试时: 验证能否正确安装成功、安装步骤是否清晰、中途是否退出、安装完之后能否顺利卸载、卸载时是否破坏用户数据、是否能够正常升级等
安装测试需要注意的事项
- 严格按照安装文档的说明,一步一步进行操作
- 软件的安装说明书是否对安装环境做限制和要求
- 安装过程是否简单、容易掌握
- 安装过程是否有明显的、合理的提示信息
- 卸载测试也是安装测试的一部分
- 安装过程中是否会出现不可预见的或不可修复的错误
- 安装过程是否占用太多系统资源
- 软件安装的完整性和灵活性
- 软件使用的注册号码验证
可恢复性测试
- 恢复测试主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误或重新启动系统。
- 运行过程中出现的错误对局部有影响,但不能造成整个系统的崩溃。
- 在某些情况下,一旦某个子系统出现问题,有一个备份子系统将服务接替过来,从而不会影响这个系统
- 恢复测试首先要通过各种手段,让软件强制性地发生故障,然后验证系统是否能尽快恢复。
对于自动恢复需验证重新初始化、检查点、数据恢复和重新启动等机制的正确性;
对于人工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。
6、文档测试
软件文档已成为软件的一个重要组成部分,而且种类繁多,对文档的测试也变得必不可少。
- 文档是软件重要组成部分,所以文档的错误也是缺陷
- 文档的重要性
用户通过文档可以掌握具体的使用方法,提高易用性
用户使用软件时遇到问题,通过帮助文档可以有效解决问题,减少企业技术支持费用
文档的种类
- 联机帮助文档或用户手册;
- 指南和向导; 安装、设置指南;
- 示例及模板;
- 错误提示信息;
- 用于演示的图像和声音;
- 授权/注册登记表及用户许可协议;
- 软件的包装、广告宣传材料。
怎样进行文档测试
好的文档能达到提高易用性、提高可靠性、降低技术支持的费用的目的,从而提高了产品的整体质量。
软件驱动的文档还得像程序一样运行起来测试。
主要检查文档的
- 正确性:不要把软件的功能和操作写错,也不允许文档内容前后矛盾
- 完备性:不能漏掉关键内容
- 易理解性:文档不能含糊,要清晰,要让大众用户看得懂,容易理解
- 一致性:例如检查产品功能描述是否自相矛盾,与其他功能有没有冲突
eg:人工测试实训案例
- 以手机信息管理系统为例,进行人工系统测试实训的操作,如下仅进行安装测试、界面测试及易用性测试、修改用户名和密码模块的测试。
- 对于手机信息管理系统来说,修改用户名和密码以及成功登录系统是整个信息管理系统的一个侧重点,这涉及到用户权限的变更和系统的安全性等问题。
1.安装测试
2.界面测试
(1)美观性与协调性
(2)窗体测试
(3)独特性测试
3.易用性测试
4修改用户名和密码模块的测试