测试用例设计的一些思考

上一篇 / 下一篇  2021-10-06 11:35:09

作为测试工程师,你的目标是要保证系统在各种应用场景下的功能是符合设计要求的,所以你需要考虑的测试用例就需要更多、更全面。测试设计的目标是保证系统在各种应用场景下的功能是符合设计要求的。

同时,选择测试用例也是软件测试人员最重要的一项任务。不正确的选择可能导致测试量过大或过小,甚至测试目标不对。准确的评估风险,把无穷尽的可能性减少到可以控制的范围是成功的秘诀。

测试软件有两种基本方法:通过性测试和失效性测试。刚进行测试时,测试人员可能更关注通过性测试,而未考虑全面失效性测试。对于较成熟的测试人员来说,测试可能存在过于注重失效性测试,导致忽略了最基础的通过性测试。

需要注意的是:在设计和执行测试用例时,首先要进行的是通过性测试。在进行破坏性测试之前,看看软件基础功能是否能实现是很重要的。在确保软件在普通情况下可以正常运行之后,就可以采取各种手段搞垮软件来找出软件缺陷了。

设计测试用例数据方面的常用方法有:

1、等价类划分:把软件具有相似输入、输出、操作的分成一组。将所有可能的输入数据划分成若干个子集,在每个子集中,如果任意一个输入数据对于揭露程序中潜在错误都具有同等效果,那么这样的子集就构成了一个等价类。

2、边界值分析:是对等价类划分的一种补充,选取输入、输出的边界值进行测试。边界值分析的一些关键原则有边界条件、次边界条件、空值和无效数据。

需要注意的是:提出边界条件后,一定要测试临近边界的有效数据,测试最后一个可能出现错误的数据,同时测试刚炒过边界的无效数据。

测试软件逻辑流程的主要方法也是运用等价划分技术选择状态和分支。首先要建立软件的状态转换图。状态转换图应包含:

    • 软件可能进入的每一种独立状态
    • 从一种状态进入另一种状态所需的输入和条件
    • 进入或退出某种状态时的设置条件及输出结果

设计完用例后,还需要建设测试状态和转换数量。需要用饱含以下内容:

    • 每种状态至少访问一次
    • 测试看起来是最常见和最普遍的状态转换
    • 测试状态之间最不常用的分支
    • 测试所有错误状态及其返回值
    • 测试随机状态转换

以用户登录系统为例,进行测试设计时,需要先考虑通过性测试。这个业务需求是:用户可以用自己的账号登录系统。将业务需求转化为软件功能需求就可以划分为:用户注册、用户登陆、用户账号后台管理。

针对“用户登录”功能,基于等价类划分和边界值分析方法,我们设计的测试用例包括:输入已注册的用户名和正确的密码,验证是否登录成功;输入已注册的用户名和不正确的密码,验证是否登录失败,并且提示信息正确;输入未注册的用户名和任意密码,验证是否登录失败,并且提示信息正确;用户名和密码两者都为空,验证是否登录失败,并且提示信息正确;用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确;如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入正确的验证码,验证是否登录成功;如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入错误的验证码,验证是否登录失败,并且提示信息正确。

上面所有的测试用例设计都是围绕显式功能性需求的验证展开的,换句话说,这些用例都是直接针对“用户登录”功能的功能性进行验证和测试的。但是,一个质量过硬的软件系统,除了显式功能性需求以外,其他的非功能性需求即隐式功能性需求也是极其关键的。

得到软件功能需求后,将软件功能需求转换为测试需求,就需要包含显式功能需求和隐式功能需求。例如用户登录可以划分为用户登录的功能、用户登录安全性、用户登录兼容性、用户登录性能等。


TAG:

引用 删除 a490041186   /   2021-10-06 11:44:55
5
 

评分:0

我来说两句

我的栏目

日历

« 2024-04-09  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 2729
  • 日志数: 9
  • 建立时间: 2021-10-02
  • 更新时间: 2022-01-13

RSS订阅

Open Toolbar