软件测试用例(1)

测试用例的基本要素

回顾一下测试用例的概念:

测试用例是为了实施测试而向被测试的系统提供的一组集合,  这组集合包含: 测试环境, 操作步骤, 测试数据, 预期结果等要素.

好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试.

评价测试用例的标准: 对比好坏用例的评价标准.

用例表达清楚, 无二义性.

用例可操作性强.

用例的输入和输出明确, 一条用例只有一个预期结果.

用例的可维护性好.

用例对需求的覆盖率高.

测试用例给我们带来的好处

测试执行者的依据.

使得工作可重复, 自动化测试的基础.

评估需求的覆盖率.

用例的复用

积累测试方法思路以供后续借鉴

使用中带来的困扰:

测试用例的设计是费时费力的工作, 往往设计测试用例所花费的时间比执行所花费的时间还多

解决如下问题:

不知道是否较全面的测试了所有功能, 测试的覆盖率无法衡量, 对新版本的重复测试很难实施, 存在大量冗余影响测试效率.

测试用例的设计方法

基于需求进行测试用例设计

基于需求设计测试用例是测试设计和开发测试用例的基础, 第一步就要分析测试需求, 验证需求是否正确, 完整, 无二义性, 并且逻辑自洽. 在需求正确的基础上细化测试需求, 从测试需求中提炼出一个个测试点或者测试项, 然后根据每一个测试点进行测试用例的设计

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

功能需求测试分析

对于功能测试中, 可以借助功能框图来帮助我们进行测试的需求分析. 概括起来, 功能测试需求通常包括以下几个方面:

(1)系统各个功能界面的验证.

(2)借助业务把功能串起来进行测试.

(3)功能的一致性, 交互性(多功能互操作)的测试.

(4)系统的不同输入, 结果输出的业务数据测试.

(5)功能的错误操作, 异常操作的测试(属于负面测试).

(6)功能实现用到的算法验证, 有时需要用代码评审.

(7)用户操作的易用性, 用户体验, 往往结合功能测试同时验证.

 针对具体的需求, 可以根据业务分类, 用户角色(餐厅的会员系统)或者用户操作区域等将系统功能分解成若干个功能模块, 然后按照功能模块分别进行测试用例分析. 按照功能模块划分, 业务模块划分是最常见的做法.

非功能需求测试分析

非功能测试需求主要涉及性能, 安全性, 可靠性, 兼容性, 易维护性和可移植性等. 从测试需求分析来看, 每一类非功能特性测试都需要根据需求单独分析. 它们之间可能会存在相互影响, 如安全性越高, 就越有可能给易用性, 性能带来更大的挑战.

这里要说明的是对于每一个应用软件系统, 非功能特性的质量需求都是存在的, 但是针对不同项目类型对各个非功能特性的要求是不一样的, 这个需要根据具体项目, 具体需求和不同产品应用的特点进行分析.

(1)纯客户端软件(就没有服务器支持的): 这类软件对系统的功能测试要求是最低的, 但是对于兼容性和稳定性, 可移植性有一定要求.

(2)企业内部的客户端/服务端系统: 比如电子邮件, 即时通信系统(企业QQ)等, 在系统功能测试需求上比纯客户端更复杂, 要求功能正确, 稳定性良好. 但是整体上看, 对性能, 安全性, 兼容性要求不高.

(3)外部大型复杂网络应用系统:  比如电子商务, 网上银行等, 除了有复杂的系统功能测试需求以外, 在系统的性能, 安全性, 兼容性, 容错性, 可靠性都有很高的要求.

具体的设计方法 -- 黑盒测试

介绍

定义: 数据驱动的测试或输入/输出驱动的测试.

核心: 测试目标和结构完全无关, 重点集中在程序不按其规范正确运行的环境条件

判定标准: "穷举输入测试" 缺点: 经济, 时间, 无法实现.(因为测试投入的目标在于通过有限的测试用例最大限度地发现问题的数量.)

等价类

 因材施教的栗子:

原则上讲, 老师应该依据每个学生的自身情况, 制定符合的学习方案. 但是实际上太多老师管不过来, 只能分成几类: 优等生强调知识面的扩展和综合能力的提升; 中等生强调夯实基础, 查漏补缺; 差等生强调先掌握重点, 暂时跳过难点.

思路: 输入的集合是无穷的, 不能全部覆盖到.

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类, 从等价类中选出一个测试用例, 如果这个测试用例测试通过, 则认为所代表的等价类测试通过,  这样就可以使用较少的测试用例达到尽可能多的功能覆盖, 解决了不能穷举测试的问题. 

有效等价类: 对于程序规格说明书是合理的, 有意义的输入数据构成的集合, 利用有效等价类验证程序是否实现了规格说明书中所规定的功能和性能.

无效等价类: 根据需求说明书, 不满足需求的集合.

等价类只考虑输入域的分类, 没有考虑到输入域的组合, 需要其它的设计方法和补充.

eg: 超市买水果

有效等价类: 苹果, 梨, 橘子.

无效等价类: 电锯, 初音未来手办, iPhone 15 promax远峰蓝1TB.

eg: 登录账号:

| 用户名  |  必填, 录入用户名  |  6至15(用户名长度由6-15位字符串组成) | 

测试用例设计: 

有效等价类: 6-15位字符串

无效等价类: 0-5位字符串/ 16位及以上位字符串. 

边界值

我们知道, 代码往往在边界值那里是容易出现问题的,边界值分析法就是对输入或输出边界进行测试的一种黑盒测试方法. 通常边界值分析法是作为对等价类划分法的补充, 这种情况下, 其测试用例来自等价类的边界.

示例:

1. 输入框长度1-11. 取边界值:1, 11, 12, 0.

2.运动员参赛项目为1-3项, 取边界值为: 0, 1, 3, 4项

3.查询页面由999行, 每50行为一页, 取边界值为: 0, 1, 50, 51, 999, 1000行 

 边界值的取法:

1.上点: 边界上的点就是上点.

2.内点: 边界内的点(不管范围是开区间还是闭区间). (取一个即可^-^)

3.离点: 如果区间是开区间, 是取区间内最靠近上点的点. 如果是闭区间, 是指区间外最靠近上点的点.

举个栗子:

 

上点: 50, 55 内点: 53 离点: 51, 56. 

错误猜测法

错误猜测法是对被测试软件设计的理解, 过往经验以及个人直觉, 推测软件中可能出现的缺陷, 从而针对性地设计测试用例的方法.

这个方法强调的是对被测试软件需求理解以及设计实现的细节把握, 还有个人经验的直觉.

错误推测法和目前流行的"探索式测试方法"的基本思想一致, 这类方法在敏捷开发模式下的投入产出比很高, 被广泛地运用于测试.

这个方法的缺点是难以系统化, 并且过度依赖个人能力.

场景设计法

现在的软件几乎都是用事件来触发控制流程的, 事件触发时的情景便形成了场景, 而同一事件不同的触发顺序和处理结果就形成事件流. 该方法可以比较生动地描绘出事件触发时的场景, 有利于测试者设计测试用例, 使测试用例更容易理解和执行.

典型的应用是用业务流把各个孤立的功能点串起来, 为测试人员建立整体业务感觉, 从而避免陷入功能细节忽视业务流程的错误倾向.

案例(注册):

  

 想象注册的场景来设计测试用例, 这与根据需求的业务流来设计的差不多. 主要是想象各种业务流设计用例. 例如我们可以想象以下场景:

1.用户激活后再次点击邮件激活链接?

2.已注册用户再次注册?

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/585929.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XGB回归预测

关键代码 import numpy as np import matplotlib.pyplot as plt from xgboost import XGBRegressor #pip install xgboost -i https://pypi.tuna.tsinghua.edu.cn/simple import pandas as pd import joblib#处理中文字体 plt.rcParams[font.family] [sans-serif] plt.rcPar…

真正的奢侈在于自由!如果要写春天,就可以写上春山——早读(逆天打工人爬取热门微信文章解读)

真正的奢侈在于自由 引言Python 代码第一篇 人民日报 如果你要写春天,就不能只写春天第二篇 人民日报 来啦,新闻早班车要闻社会政策 结尾 真正的奢侈在于自由 一辆跑车固然能带来风驰电掣的激情 然而一辆两千不到的山地车 亦能承载骑行者对自然的亲近 对…

可视化大屏的行业应用(2):智慧园区全面剖析

大千UI工场经常接到智慧园区的可视化项目,最初就是放几张图表,现在要求越来越高,不仅3D技术引入了,而且物联网技术和数字孪生技术也在上面大放异彩。 一、什么是智慧园区 智慧园区(Smart Park)是指利用信…

解密项目管理系统:如何确保用户数据安全?

随着信息技术的不断发展,数据安全难题日益突显。项目管理系统关系着企业的核心竞争力、商业机密乃至企业的长远发展,数据安全维护的重要性不言而喻。如何保护项目管理系统的用户数据安全?以Zoho Projects为例,技术商层面有专业的隐…

LED显示屏SMD封装:打造高品质器件的关键技术

LED器件是LED显示屏成本的主要构成部分,占据着约40%至70%的成本比重。LED显示屏成本的显著下降得益于LED器件成本的降低,而LED封装的质量对LED显示屏的品质影响尤为重大。本文将深入探讨LED显示屏SMD(表面贴装型封装结构)封装的现…

【御控物联】JSON结构数据转换在物联业务中应用(场景案例二)

文章目录 一、物联网业务场景现状二、物联网业务场景数据交互格式三、JSON格式数据转换案例四、JSON数据格式转换DEMO五、在线转换工具六、技术资料 一、物联网业务场景现状 目前,市场上多数物联网关与物联平台捆绑售卖,网关采集到设备数据只能按照指定…

政安晨:【Keras机器学习实践要点】(十四)—— 使用 Keras3 进行分布式训练

目录 简介 工作原理 设置 设备网格和张量布局 分发 数据并行 ModelParallel 和 LayoutMap 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益,如有不足之处…

实现一个Google身份验证代替短信验证

最近才知道公司还在做国外的业务,要实现一个登陆辅助验证系统。咱们国内是用手机短信做验证,当然 这个google身份验证只是一个辅助验证登陆方式。看一下演示 看到了嘛。 手机下载一个谷歌身份验证器就可以 。 谷歌身份验证器,我本身是一个基…

sap 实施商

领导者象限中的三巨头   德勤、埃森哲、IBM,这三家公司行业从业者基本都知道,三巨头在国内的实力也是挺强的。 领导者象限中的四朵花 四朵花: 凯捷,塔塔咨询,安永,普华永道(Pwc) 国内本土公司&…

【Linux】动态库与静态库

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.为什么要有库&…

电脑分辨率怎么调,电脑分辨率怎么调整

随着电脑的普及以及网络的发展,我们现在在工作中都离不开对电脑的使用,今天小编教大家设置电脑分辨率,现在我们先了解这个分辨率是什么?通常电脑的显示分辨率就是屏幕分辨率,显示屏大小固定时,显示分辨率越高图像越清…

EVM Layer2 主流解决方案

深度解析主流 EVM Layer 2 解决方案:zk Rollups 和 Optimistic Rollups 随着以太坊网络的不断演进和 DeFi 生态系统的迅速增长,以太坊 Layer 2 解决方案日益受到关注。 其中,zk Rollups 和 Optimistic Rollups 作为两种备受瞩目的主流 EVM&…