今天听了茹炳晟老师软件测52讲,也浏览了专栏下面的留言,看到一个用户登录功能设计了那么多场景的测试用例,很多是基于经验,因此想找出一些规则,减少测试场景的遗漏,下面是我总结的用例设计步骤及方法,以用户登录功能为例,讲述其应用方法。
一、用例设计步骤及方法
1. 确定功能点的测试需求
确定功能点的测试需求,是指通过产品功能描述及功能特点,确定此功能点的测试类型,即针对此功能,是仅仅进行功能测试,还是需要进行功能测试、安全测试、兼容性测试等。
2. 功能点建模
对功能点进一步建模,若测试人员能够在需求阶段接入到产品开发,在需求阶段,就可以对软件产品进行建模,但在需求阶段建立的模型可能无法细化到某个功能点,因此需要对功能点进行建模。可以从以下5个方面进行建模,也可以从其他方面入手,建议多进行状态分析和状态间转换。
1. 输入参数范围 或 关联输入状态;
2. 功能点关联操作;
3. 功能点操作失败后的后续操作;
4. 功能点操作失败的原因;
5. 与功能点相关的软件内部操作等。
3. 输出功能的测试点
根据测试需求和建立的模型,输出此功能测试点。
4. 编写测试用例
根据测试点,运用等价类划分、边界值、错误推测和场景分析等方法,编写测试用例。在用例编写过程中,注意一个测试用例可以包含2-3个测试点,且根据测试用例逻辑,规划测试用例执行顺序。
二、应用
以用户登录功能为例,在系统测试阶段,介绍应用方法。
1. 确定登录功能测试需求
用户登录测试类型,首先想到的是功能测试;由于用户可能采用不同的设备进行登录,因此需要有兼容性测试;同样用户登录属于和用户直接交互的功能,应包含易用性和性能测试;最后用户登录涉及用户账户和密码,因此应包含安全测试。此处功能测试是指业务测试,性能测试可以进一步细化为负载测试、压力测试和容量测试。总结测试需求如下:
2. 功能点建模
2.1 简单模型
2.2 状态转换图
用户名状态转换图:
登录状态转换图:
3. 生成测试点
根据建立的功能点简单模型和状态转换图,通过组合及细化,生成测试点。
3.1功能测试测试点
3.2兼容性测试点
兼容性测试与功能测试相比,测试点相对少,兼容性一般从软件运行环境考虑,目地是使得软件在不同的运行环境下都能正确显示或运行,而软件运行环境可以划分为软件环境和硬件环境两部分。软件环境一般指操作系统类型版本、浏览器类型版本等;而硬件环境一般指终端设备类型、显示设备大小及分辨率等。
3.3安全测试点
本人接触的项目中,没有进行安全测试,可以从 显示安全、存储安全、传输安全等方面考虑安全性测试,还可以参考专门的安全测试方法。
3.4 性能测试点
性能在当前可以从时间和空间两个维度考虑,时间纬度主要是考察系统的响应速度,空间维度主要考察软件运行过程中的资源占有情况。
4. 编写测试用例
根据3中的测试点,补充测试数据,生成测试用例。注意可以将多个测试点合并为一个测试用例,如功能测试的测试点1和安全测试点1,可以合并为一个测试用例。
三、小结
测试用例的设计方法有多种,且由于各种原因,测试人员无法做到穷尽测试,但为了避免测试场景过于单一,在设计测试用例时还是需要多考虑功能关联状态、输入、操作等,多进行分析和沟通,设计出有的放矢的测试用例。