软件测试—用例篇(上)

简介: 软件测试—用例篇(上)

🔎测试用例的概念

为了实施测试而向被测试的系统提供的一组集合

这组集合包括

(1)测试环境 (2)操作步骤 (3)测试数据 (4)预期结果

🔎测试用例的好处

(1)提高测试效率, 节省测试时间

(避免重复测试)

(2)手动测试用例是自动化测试用例的前提

🔎测试用例的设计方法

下面所介绍的设计方法是黑盒测试用例的设计方法

🌸基于需求的设计方法

基于需求设计测试用例是测试设计和开发测试用例的基础

分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽

在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项,然后根据每一个测试点进行测试用例的设计

在分析测试需求时, 一般分为功能需求测试和非功能需求测试

🌸等价类划分法

依据需求将输入(特殊情况下会考虑输出)划分为若干等价类

从等价类中选出一个测试用例, 如果这个测试用例测试通过, 则认为所代表的等价类测试通过

这样就可以用较少的测试用例达到尽量多的功能覆盖, 解决了不能穷举测试的问题

等价类可以分为

(1)有效等价类 (2)无效等价类

  • 有效等价类
    满足用户需求输入的集合
  • 无效等价类
    不满足用户需求输入的集合

举个栗子🥝

滑稽老哥去超市买水果

有效等价类

苹果, 橘子, 梨, 香蕉…

无效等价类

香菇, 白菜, 土豆, 青菜…

等价类划分法设计测试用例的步骤

(1)

充分理解需求

(2)

划分有效等价类, 划分无效等价类

(3)

从有效等价类中抽取一个数据进行测试用例设计

从无效等价类中抽取一个数据进行测试用例设计

覆盖有效等价类的时候, 一个测试用例, 需要覆盖所有的有效等价类

覆盖无效等价类的时候, 一个测试用例, 只允许覆盖一个无效等价类


🥝小练习🥝

某平台对于用户名的规定

(1)长度为6~15位

(2)字符类型为A~Z, 不区分大小写

请根据用户名的规定采用等价类划分法设计测试用例


🌸边界值分析法

对输入或输出的边界值进行测试的一种黑盒测试方法

边界值分析法通常是作为对等价类划分法的补充, 这种情况下, 其测试用例来自等价类的边界

边界值包括

(1)上点 (2)内点 (3)离点

  • 上点
    边界上的点
  • 内点
    边界内的点
  • 离点
    边界值附近的一个点(闭区间为区间外距离上点最近的点, 开区间为区间内距离上点最近的点)

举个栗子🥝

(6,15) → 开区间

上点 6, 15

内点 7~14

离点 7, 14

[6,15] → 闭区间

上点 6, 15

内点 7~14

离点 5, 16

边界值分析法设计测试用例的步骤

(1)

充分理解需要

(2)

找边界点

(3)

针对边界点设计测试用例

对于上面的小练习, 我们可以采用边界值分析法作为对等价类划分法的补充进行测试用例的设计

基于等价类划分法与边界值分析法的完整测试用例

🌸判定表

判定表是一个数据表

这个数据表表示的是输入条件和输出结果之间的关系

判定表中的关系

(1)与 (2)或 (3)非 (4)恒等


  • 条件全为真, 结果为真. 其中一个条件为假, 结果为假

  • 其中一个条件为真, 结果为真. 条件全为假, 结果为假

  • 条件为真, 结果为假. 条件为假, 结果为真
  • 恒等
    条件为真, 结果为真. 条件为假, 结果为假

判定表设计测试用例的步骤

(1)

分析所有可能的输入和输出

(2)

找出输入与输出之间的对应关系

(3)

设计判定表

(4)

将判定表对应到每一个测试用例


🥝小练习🥝

某购物网站在双11规定

(1)订单已提交

(2)订单金额大于300或有红包

同时满足(1)和(2)可以享受购物优惠

(1)分析所有可能的输入和输出

  • 订单已提交, 订单金额大于300, 有红包
  • 订单已提交, 订单金额大于300, 无红包
  • 订单已提交, 订单金额不大于300, 有红包
  • 订单已提交, 订单金额不大于300, 无红包
  • 订单未提交, 订单金额大于300, 有红包
  • 订单未提交, 订单金额大于300, 无红包
  • 订单未提交, 订单金额不大于300, 有红包
  • 订单未提交, 订单金额不大于300, 无红包

(2)找出输入与输出之间的对应关系

  • 订单已提交
  • 订单金额大于300 → 优惠
  • 有红包 → 优惠
  • (订单提交状态下, 订单金额大于300 或者 有红包 即可享受优惠)
  • 订单未提交 → 不优惠
  • (订单未提交状态下, 订单金额大于300 或者 有红包 都不享受优惠)

(3)设计判定表

(4)将判定表对应到每一个测试用例

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍

大家有什么不太理解的,可以私信或者评论区留言,一起加油

相关文章
|
8月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
7月前
|
人工智能 自然语言处理 测试技术
让AI帮你跑用例-重复执行,不该成为测试工程师的主旋律
测试不该止步于重复执行。测吧科技推出用例自动执行智能体,通过AI理解自然语言用例,动态规划路径、自主操作工具、自动重试并生成报告,让测试工程师从“点点点”中解放,专注质量思考与创新,提升效率3倍以上,节约人力超50%,重构测试生产力。
|
11月前
|
测试技术 Python
Python测试报告生成:整合错误截图,重复用例执行策略,调整测试顺序及多断言机制。
如何组织这一切呢?你可以写一本名为“Python测试之道”的动作指南手册,或者创建一个包含测试策略、测试顺序、多断言机制的脚本库。只要你的测试剧本编写得足够独到,你的框架就会像一位执行任务的超级英雄,将任何潜伏于代码深处的错误无情地揪出来展现在光天化日之下。这些整理好的测试结果,不仅有利于团队协作,更像冒险故事中的精彩篇章,带给读者无尽的探索乐趣和深刻的思考。
283 10
|
NoSQL 安全 测试技术
接口测试用例设计的关键步骤与技巧解析
该文介绍了接口测试的设计和实施,包括测试流程、质量目标和用例设计方法。接口测试在需求分析后进行,关注功能、性能、安全等六项质量目标。流程包括网络监听(如TcpDump, WireShark)和代理工具(Charles, BurpSuite, mitmproxy, Fiddler, AnyProxy)。设计用例时,需考虑基本功能流程、输入域测试(如边界值、特殊字符、参数类型、组合参数、幂等性)、线程安全(并发和分布式测试)以及故障注入。接口测试用例要素包括模块、标题、优先级、前置条件、请求方法等。文章强调了保证接口的幂等性和系统健壮性的测试重要性。
|
前端开发 JavaScript 测试技术
使用ChatGPT生成登录产品代码的测试用例和测试脚本
使用ChatGPT生成登录产品代码的测试用例和测试脚本
436 35
|
测试技术
软件测试用例设计之微信群抢红包经典用例
作者在浏览招聘网站时遇到为微信群发和抢红包设计测试用例的问题,作为软件测试新手,作者通过实际体验并撰写测试案例来加深对业务的理解,并分享了测试案例表格。需要注意的是,该用例未考虑添加银行卡支付、红包类型选择及红包描述。
479 5
软件测试用例设计之微信群抢红包经典用例
|
测试技术 数据安全/隐私保护
北邮人论坛登录页面测试用例
北邮人论坛登录页面测试用例
313 1
|
人工智能 测试技术 Python
基于 LangChain 的自动化测试用例的生成与执行
本章节详细介绍了如何利用人工智能技术自动化完成Web、App及接口测试用例的生成与执行过程,避免了手动粘贴和调整测试用例的繁琐操作。通过封装工具包与Agent,不仅提升了测试效率,还实现了从生成到执行的一体化流程。应用价值在于显著节省时间并提高测试自动化水平。
基于LangChain手工测试用例转App自动化测试生成工具
在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
基于LangChain手工测试用例转Web自动化测试生成工具
该方案探索了利用大模型自动生成Web自动化测试用例的方法,替代传统的手动编写或录制方式。通过清晰定义功能测试步骤,结合LangChain的Agent和工具包,实现了从功能测试到自动化测试的转换,极大提升了效率。不仅减少了人工干预,还提高了测试用例的可维护性和实用性。