下载全书

测试用例设计

0
1
3737

定义
编辑

为了某个特定目的而设计的一组包含测试环境、测试步骤、测试数据、预期结果的集合。测试用例是执行的最小单元。 简单地说,测试用例就是设计一个检验软件程序在一种场景下能够正常运行并且达到程序所设计的执行结果的场景设计。

为什么
编辑

在进行软件测试之前,进行测试用例的设计,可以为后面的测试执行提供依据

  • 避免盲目的测试并提高测试效率;

  • 可以分清楚哪些是测试重点,可以衡量需求的覆盖率(哪些在测试范围内,哪些不在)

何时使用
编辑

  1. 产品需求输出后,产品经理使用测试用例,检查需求在场景和逻辑上的完整性和正确性;

  2. 开发编码前,团队使用测试用例,用以辅助团队进行需求共识;

  3. 产品测试过程中,使用测试用例指引测试行为。

如何使用
编辑

一、测试用例设计质量标准

测试用例的设计要满足以下8个质量标准:

系统性

  • 系统业务流程能完整说明整个系统的业务需求、系统由几个子系统组成

  • 模块业务流程能完整说明子系统内部功能、重要功能点以及它们之间的关系

连贯性

  • 业务系统流程中各个子系统之间用接口衔接,则需要考虑各个子系统之间是否有正确的接口;用页面链接,则考虑页面链接是否正确

  • 模块业务流程中同级模块以及上下级模块是如何构成一个子系统,考虑其内部功能接口是否连贯

相关性

  • 各个模块之间的相关性。某个模块发生增删改时,其他模块是否有相应的变化,后台数据与其是否匹配

全面性

  • 尽可能覆盖程序的各种路径

  • 尽可能覆盖系统的各个业务

  • 考虑存在跨年、跨月,分页的数据

  • 大量数据并发测试的准备

  • 系统中各功能、业务的异常情况

正确性

  • 输入用户实际数据来验证系统是否满足需求说明书的需求

符合正常的业务惯例

  • 测试数据应符合用户实际工作业务流程;测试数据应兼顾各种业务变化的可能

仿真性

  • 人名、地名、电话号码、身份证号等需有模拟性,符合日常的命名惯例

容错性

  • 不仅能够接收正确数据输入并且产生预期的数据输出;在输入非法数据(非法类型、不符合要求的数据、溢出数据等),系统应给出提示并有对应的处理方式

二、测试用例设计方法

常说的测试用例设计方法是黑盒测试用例设计方法,因此本部分代码讨论的测试用例方法也是黑盒测试用例设计方法。使用科学的测试用例设计方法来保障测试工程师设计出来的测试用例能够符合上述质量标准的要求,测试用例设计方法包含了边界值分析法、等价类划分法、因果图法、判定表驱动法、错误推测法、正交试验设计法、场景法等。

针对不同的被测系统、不同的测试流程,要选用不同的测试用例设计方法,没有一种通用的测试用例设计方法可以解决全部测试用例设计需求。例如边界值分析法适合输入类型的功能测试用例设计、场景法适合定时任务类型的测试用例设计。

测试用例设计方法也不是相互排斥的,所有测试用例设计方法可以相互嵌套使用,例如边界值分析法和场景法是需要一起使用的。

三、测试用例文档内容

  1. 被测试对象的介绍

  2. 测试范围与目的

  3. 测试环境与测试辅助工具的描述

  4. 功能测试用例主要元素

  5. 前置条件:系统权限配置或前、后台配置描述

  6. 功能所属业务模块

  7. 功能点描述

  8. 测试操作步骤描述

  9. 测试数据准备

  10. 预期结果

  11. 实际结果

  12. 用例优先级

四、测试用例级别划分

1级

  • 涉及系统基本功能,划分依据:该用例执行的失败会导致多处重要功能无法运行。发生概率较高且经常这样使用的一些功能用例,该级别的测试用例在每一轮版本测试中都必须执行(此类用例占比要控制)

2级

  • 涉及系统的重要功能,划分依据:主要包括一些功能交互相关、各种应用场景、使用频率较高的正常功能。

  • 在非回归的系统测试版本中基本上都需要进行验证,以保证系统所有的重要功能都能够正常实现。在测试过程中可以根据版本当前的具体情况进行安排是够进行测试(此类用例占比偏多)

3级

  • 涉及系统的一半功能,划分依据:使用频率较低于2级用例。如:数值或数组的边界情况、特殊字符、字符串超长、与外部件交互消息失败、消息超时、事物完整性测试、可靠性测试等。

  • 在非回归的系统测试版本中不一定都进行验证,而且在系统测试的中后期并不一定需要每个版本都进行测试

4级

  • 该级别适情况定,划分依据:相对比较生僻的预置条件和数据设置。如界面规范化可归入4级用例。在实际使用中使用频率非常低、对用户可有可无的功能。

  • 在版本测试中可视情况不进行测试

五、注意事项

通过以下3个维度来检查测试用例内容和覆盖面是否正确和完整

从功能角度来检查

  • 功能是否齐全

  • 功能是否多余

  • 功能是否可以合并

  • 功能是否可以再细分

  • 软件流程与实际业务流程是否一致

  • 软件流程能否顺利完成

  • 各个操作之间的逻辑关系是否清晰

  • 各个流程数据传递是否正确

  • 模块功能是否与需求分析及概要设计相符

  • 增、改等录入频繁的界面或录入数据量较多的界面,是否支持全键盘或全鼠标操作,并且使用通用的键实现数据字段的有序切换

从面向用户友好角度考虑测试用例的正确性、完整性

  • 操作方便性

  • 易用性

  • 智能化考虑

  • 要求用户进行的操作是否多余,能否由系统替代

  • 系统升级后,用户能否不做任何操作自动进行所有升级的数据、环境等准备工作,包括清除缓存等动作

  • 能否记忆操作的初始环境,无需用户每次都进行初始化设置

  • 是否不经确认就对系统或数据进行重大修改

  • 能否及时反映或显示用户操作结果

  • 操作是否符合用户习惯,比如:热键

  • 各种选项的可用及禁用是否及时合理

  • 某些相似的操作能否做成通用模块

从软件流程的测试角度来检查测试用例的正确性和完整性

  • 反流程操作

  • 反逻辑操作

  • 重复操作

  • 反业务流程操作

  • 违反流程的打乱流程的不按操作手册的乱操作

输出物
编辑

用例

参考资料
编辑

《软件测试》 [美] 罗恩·佩腾(Ron Patton) 著,张小松,王钰,曹跃 等 译 机械工业出版社

我们非常重视知识产权,我们在非常努力地寻找最初的出处来源并注明出处。但因为互联网信息浩瀚,难免会有疏漏。如果您觉得有侵犯您的权益,请联系我们。

评论列表
三根树 2024-05-06 17:08:20 回复
可否对测试用例的设计方法如等价类划分、判定表驱动、正交试验设计等进行举例说明?
CrissChan 2022-12-16 16:10:35 回复
想求教一下“测试用例的设计要满足以下8个质量标准”的出处。
1/1
请提出您的意见
通过审核后显示您的意见

文章导航

定义
为什么
何时使用
如何使用
输出物
参考资料

主要贡献人

兔子

实践被点赞 2

实践被收藏 0

加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线