谈谈测试用例中的前置条件

简介: 在简单模块或单元测试中,大家对于前置条件的理解很容达成共识。但在面对一个复杂系统时,则关于前置条件容易困扰,或是因为可操作性,或是因为可界定性。

1.背景

一个测试用例基本要素包括以下 3 点:

  • 前置条件,或者叫被测对象的初始状态
  • 执行步骤
  • 预期结果

在简单模块或单元测试中,大家对于前置条件的理解很容达成共识。但在面对一个复杂系统时,则关于前置条件容易困扰,或是因为可操作性,或是因为可界定性。

2.前置条件的组成

  • 被测对象的程序版本

    • 在测一个库、一个类、一个可执行程序时,版本很容易定义;但面对一个网站时,要说清楚版本不是一件容易的事情。
  • 被测对象的相关数据,包括

    • 数据库里的数据
    • 缓存服务中的数据
    • 队列中的数据
    • 配置文件中的信息
    • ……
  • 测试环境

    • 测试工具与被测对象的网络拓扑情况
    • 测试工具、被测对象、通讯网络等计算、带宽、存储资源的情况

3.关于被测对象相关数据的准备

极简情况:测试一个类的方法

可以通过构造函数、借助 set 接口等来保证方法调用前,类处在一个确定的状态中。

正常情况:测试一个网站的注册功能

空库的情况下,

  • 第一次执行注册 a 用户 时成功
  • 第二次执行注册 a 用户时反馈失败。

此时都代表网站正常,但两次测试属于不同的测试用例,因为其系统的初始情况不一样。

为了可重复验证测试功能,需要在注册 a 用户,清除掉 a 用户的注册信息,以保证可重入性。此时,注册测试用例的前置条件中的数据要求就是,数据库中没有 a 用户的信息。

正常情况:测试列表的翻页功能

因为数据记录条数不同,导致页面显示的情况会不同。比如说:

  • 空数据
  • 不满一页的数据
  • 10 页的数据
  • 100 页的数据

此时,就需要让数据库里的数据处在不同的数据量情况下,才能进行有效测试。可选的方案包括:

  • 每次测试前,人工清理和准备需要的数据
  • 每次测试前,执行专用的数据生成 SQL(含清理数据)
  • 在数据库里提前生成4 种数据,借助一些其他查询条件来区分。即重点测试翻页功能,其他功能就能用来辅助功能测试。
  • 提前创建4 种数据库快照,按需恢复到需要的数据库状态。

4.说明

  • 离开前置条件来谈测试用例执行结果,很难界定是否真是系统的 bug。
  • 并不需要控制所有前置条件的一致性,一是单个测试用例只与有限的数据相关,二是控制绝对一致的成本很高,不划算。
目录
打赏
0
0
0
0
57
分享
相关文章
渗透测试的前置知识00
数据结构的姿势更新了一部分,接下来回到主业的网络安全上
83 0
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
96 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
62 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
Python测试淘宝店铺所有商品接口的详细指南
本文详细介绍如何使用Python测试淘宝店铺商品接口,涵盖环境搭建、API接入、签名生成、请求发送、数据解析与存储、异常处理等步骤。通过具体代码示例,帮助开发者轻松获取和分析淘宝店铺商品数据,适用于电商运营、市场分析等场景。遵守法规、注意调用频率限制及数据安全,确保应用的稳定性和合法性。
微信公众号接口测试实战指南
微信公众号接口测试是确保系统稳定性和功能完整性的重要环节。本文详细介绍了测试全流程,包括准备、工具选择(如Postman、JMeter)、用例设计与执行,以及常见问题的解决方法。通过全面测试,可以提前发现潜在问题,优化用户体验,确保公众号上线后稳定运行。内容涵盖基础接口、高级接口、微信支付和数据统计接口的测试,强调了功能验证、性能优化、安全保护及用户体验的重要性。未来,随着微信生态的发展,接口测试将面临更多挑战和机遇,如小程序融合、AI应用和国际化拓展。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等