【软件测试】用例篇



前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站



在这里插入图片描述

🌈个人主页: 南桥几晴秋
🌈C++专栏: 南桥谈C++
🌈C语言专栏: C语言学习系列
🌈Linux学习专栏: 南桥谈Linux
🌈数据结构学习专栏: 数据结构杂谈
🌈数据库学习专栏: 南桥谈MySQL
🌈Qt学习专栏: 南桥谈Qt
🌈菜鸡代码练习: 练习随想记录
🌈git学习: 南桥谈Git

🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈
本科在读菜鸡一枚,指出问题及时改正


文章目录

  • 概念
  • 设计测试⽤例
    • 常规思考+逆向思维+发散性思维
    • 万能公式
    • 弱网测试
    • 安装卸载测试
  • 设计测试用例的方法
    • 基于需求的设计方案
    • 具体的设计方法
      • 等价类
      • 边界值
      • 正交法
      • 判定表法
      • 场景法
      • 错误猜测法
  • 接口测试工具

概念

测试⽤例(TestCase)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。

假设你现在买回来了一个手机,需要进行测试,根据个人经验需要测试以下:

  1. 开机测试
  2. 切换界面
  3. 视频分辨率
  4. 测试网络
  5. 蓝牙功能
  6. 像素等等

这些测试条目不会写在纸上,不会以文字形式展示出来,这里的一条条内容就是一个测试用例。

软件中涉及到太多的特性,仅仅通过脑子去想是无法完成完整的测试。通过编写测试用例可以想到测试哪些内容,一次又一次更新修改可以完善测试内容,功能覆盖率更高。

笔试面试小Tips:

  1. 笔试的时候编写测试用例题需要按照Excel表格的方式来答题(会涉及到测试用例的要素)
    在这里插入图片描述
  2. 面试的时候回答测试用例题时需要按照思维导图方式一一道来即可(不会涉及到测试要素)
    在这里插入图片描述

设计测试⽤例

案例:
现在有⼀款产品,要求我们对“⻔锁”设计测试用例

常规思考+逆向思维+发散性思维

  • 测试⽤例的编写不仅应当根据有效和预料到的输⼊情况,⽽且也应该根据⽆效和未预料到的输⼊情况。
  • 检查程序是否“未做其应该做的”仅是成功的⼀半,测试的另⼀半是检查程序是否“做了其不应该做的”
  • 计划测试⼯作时不应默许假定不会发现错误

在这里插入图片描述

万能公式

设计测试⽤例的万能公式:功能测试+界⾯测试+性能测试+兼容性测试+易⽤性测试+安全测试

所谓的万能公式是给你一个考虑的方向。比如让你说出家里的电气,但是明明用过很多却在短时间内想不起来几个,此时如果给你几个提示:厨房电器、客厅电器、卫生间电器等这些方向,你就会顺着这些方向去进行思考。

  • 功能测试:从产品功能角度出发,验证功能是否正确
  • 界面测试:眼睛可以看到的元素都需要测试。界面设计到的内容:元素(大小、颜色、材质)
  • 性能测试:功能测试检查软件是否做了,⽽性能测试测试软件做的好不好。性能测试是在特殊场景下做特殊的测试。
  • 兼容性差测试:浏览器兼容性,版本兼容性,数据兼容性等
  • 易用性兼容性:软件是否具备简单易上手属性以及新用户在使用时是否有新用户引导
  • 安全测试:安全问题有很多,例如:密码是否有回显、隐私数据存储是否加密、接口返回值省略隐私数据

除了上述测试之外还有弱网测试、安装卸载测试

弱网测试

弱⽹测试的⽬的就是尽可能保证用户体验**,为了覆盖更多的网络场景**,关注的关键点包括:

  • 页面响应时间是可以接受,关注包括热启动、冷启动时间、⻚⾯切换、前后台切换、⾸字时间,⾸屏时间等
  • 页面呈现是否完全一致
  • 超市文案是否 符合定义,异常信息是否显示正常
  • 是否有超时重连
  • 安全角度:是否会发生dns劫持、登录ip更换频繁、单点登录异常等
  • 大流量事件风险:是否在弱网下进行更新apk包、下载文件等大流量操作

如何进行弱网测试?
弱⽹需要借助⼯具来构造弱⽹,这⾥推荐使⽤fiddler

  1. 打开弱网设置选项
    在这里插入图片描述
  2. 打开设置弱网脚本
    在这里插入图片描述

表示传输1KB需要多少毫秒,设置的数字越大,传输速率越慢

在这里插入图片描述

安装卸载测试

针对需要进⾏部署的软件,除了软件功能外,我们还需要关注软件的能够成功安装和卸载

设计测试用例的方法

基于需求的设计方案

测试和开发的依据:软件需求(需求文档/产品规格)

接到需求之后,要对需求进⾏分析和验证,从合理的需求中进⼀步分析细化需求,从细化的需求中找出测试点,根据这些测试点再去设计测试⽤例。

具体的设计方法

以下具体方法旨在提高我们测试的思路以及提高我们设计测试的能力。

等价类

穷举法:无法借助该方法进行测试,耗时耗力

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

等价类的分类:

  • 有效等价类:对于程序的规格说明书是合理的、有意义的输⼊数据构成的集合,利⽤有效等价类验证程序是否实现了规格说明中所规定的功能和性能
  • ⽆效等价类:根据需求说明书,不满⾜需求的集合

在这里插入图片描述

缺点:等价类只考虑输⼊域的分类,没有考虑输⼊域的组合,需要其他的设计⽅法和补充

边界值

边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试⽤例来⾃等价类的边界。

边界值包含:

  • 边界值:给定返回的左数据和右数据
  • 次边界值:若边界值为有效等价类中的数据,则次边界值为无效等价类中的边界;若边界值为无效等价类中的数据,则次边界值为有效等价类中的边界

举例:

  • 有效范围是[6,15]
    • 边界值:6、15(有效)
    • 次边界值:5、16(无效)
  • 有效范围是(6,15)
    • 边界值:6、15 (无效)
    • 次边界值:7、14(有效)

在这里插入图片描述

正交法

假如当前有两个选项A和B,可以设计出都填写、都不填写、填写A、填写B四个测试⽤例

假如当前有三个选项A、B、C,通过设计可以得到8个测试⽤例

… …

正交试验设计是研究多因素多⽔平的⼀种设计⽅法,它是根据正交性,由试验因素的全部⽔平组合中挑选出部分有代表性的点进⾏试验,通过对这部分试验结果的分析了解全⾯试验的情况,找出最优的⽔平组合。正交试验设计是⼀种基于正交表的、⾼效率、快速、经济的试验。

什么是正交表?以下是来自百度百科的讲解:
在这里插入图片描述

在这里插入图片描述

  • 正交表的构成:因素数、⽔平数、⾏数。
  • 因素:对指标的影响条件,通常是正交表中的⼀列。
  • ⽔平:因素对应的可选项。
    在这里插入图片描述

正交表的性质

  • 每一列中,不同数字出现的次数相等
  • 任意两列中数字的排列方式齐全而且均衡
    在这里插入图片描述

正交法的⽬的是为了减少⽤例数⽬。⽤尽量少的⽤例覆盖输⼊的两两组合

设计正交表我们需要使用工具:allparis,来生成正交表

正交法设计测试⽤例的步骤:

  • 找到因素和水平
  • 将因素和水平写到Excel表格中(表格不需要保存,建议使用微软的Excel)
  • allparis⽬录下创建新的⽂本⽂件.txt,复制Excel中的因素和⽔平,直接粘贴到⽂本中保存并退出
  • 使用allparis工具对文本文件生成正交表文件,命令:allparis.exe xxx.txt > res_xxx.txt

判定表法

判定表是⼀种表达逻辑判断的⼯具,形如:
在这里插入图片描述
非常容易编写出测试用例,可以把所有条件对应的结果清晰的表达出来。

根据判定表法设计测试⽤例的步骤:

  1. 确认需求中输⼊条件和输出条件
  2. 找出输⼊条件和输出条件之间的关系
  3. 画判定表
  4. 根据判定表编写测试⽤例

场景法

现在的软件⼏乎都是⽤事件触发来控制流程的,例如步骤一完成之后才能触发步骤二,步骤二完成才能触发步骤三等等。事件触发时的情景便形成了场景,⽽同⼀事件不同的触发顺序和处理结果就形成事件流。

每一个业务都有一个基本流,但是会有多个备用流。

通过运⽤场景来对系统的功能点或业务流程的描述,从⽽提⾼测试效果的⼀种⽅法。
⽤例场景来测试需求是指模拟特定场景边界发⽣的事情,通过事件来触发某个动作的发⽣,观察事件的最终结果,从⽽⽤来发现需求中存在的问题。我们通常以正常的⽤例场景分析开始,然后再着⼿其他的场景分析。场景法⼀般包含基本流和备⽤流,从⼀个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备⽤流来完成整个场景。场景主要包括4种主要的类型:正常的⽤例场景,备选的⽤例场景,异常的⽤例场景,假定推测的场景。

在这里插入图片描述

错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个⼈直觉,推测出软件可能存在的缺陷,从⽽针对性地设计测试⽤例的⽅法。

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

错误推测法和⽬前流⾏的“探索式测试⽅法”的基本思想⼀致,这类⽅法在敏捷开发模式下的投⼊产出⽐很⾼,被⼴泛应⽤于测试

接口测试工具

使⽤接⼝测试⼯具来提供测试的质量和效率,常⽤的接⼝测试⼯具有postman,关于postman使用需要在实践中不断学习

  1. 创建请求
    在这里插入图片描述
  2. 发起请求
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Jenkins-基于Role的鉴权机制

jenkins自带了一些全局性的安全配置。 但无法通过job等相对细粒度的来控制使用者的权限。但它可以借助相关的插件实现细颗粒的权限控制。 插件: Role-based Authorization Strategy 需要在configure global security中配置授权策略如下: 保存后&#x…

javaEE初阶————多线程初阶(2)

今天给大家带来第二期啦,保证给大家讲懂嗷; 1,线程状态 NEW安排了工作还未开始行动RUNNABLE可工作的,或者即将工作,正在工作BLOCKED排队等待WAITING排队等待其他事TIMED_WAITING排队等待其他事TERMINATED工作完成了 …

VB.net实战(VSTO):解决WPS Ribbon图标灰色背景

问题:用VSTO制作插件,在MS Office中图标显示正常,但在WPS Office中图标显示为灰色背景 原因:使用的图标是纯透明背景的,这样的图标在WPS中会变为灰色背景。 以下这个解决办法是我自己摸索出来的,对您有用的…

在.NET用C#将Word文档转换为HTML格式

将Word文档转换为HTML格式尤其具有显著的优势,它不仅能够确保文档内容在多种设备和平台上保持一致灵活的显示,还便于通过网络进行传播和集成到各种Web应用中。随着越来越多的企业和开发者寻求更灵活、更具兼容性的文件处理方式,.NET框架下的C…

在服务器上增加新网段IP的路由配置

在服务器上增加新网段IP的路由配置 前提条件步骤一:检查当前路由表步骤二:添加新路由步骤三:验证新路由步骤四:持久化路由配置脚本示例结论在网络管理中,路由配置是一项基本且重要的任务。它决定了数据包在网络中的传输路径。本文将详细介绍如何在服务器上增加新的路由配置…

鸿蒙学习构建视图的基本语法(二)

一、层叠布局 // 图片 本地图片和在线图片 Image(https://developer.huawei.com/allianceCmsResource/resource/HUAWEI_Developer_VUE/images/080662.png) Entry Component//自适应伸缩 设置layoutWeight属性的子元素与兄弟元素 会按照权重进行分配主轴的空间// Position s…

电脑风扇声音大怎么办? 原因及解决方法

电脑风扇是电脑的重要组件之一,它的作用是为电脑的各个部件提供冷却,防止电脑过热。然而,有时候我们会发现电脑风扇的声音特别大,不仅影响我们的使用体验,也可能是电脑出现了一些问题。那么,电脑风扇声音大…

OpenVela——专为AIoT领域打造的开源操作系统

目录 一、系统背景与开源 1.1. 起源 1.2. 开源 二、系统特点 2.1. 轻量化 2.2. 标准兼容性 2.3. 安全性 2.4. 高度可扩展性 三、技术支持与功能 3.1. 架构支持 3.2. 异构计算支持 3.3. 全面的连接套件 3.4. 开发者工具 四、应用场景与优势 4.1. 应用场景 4.2. …

хорошо哈拉少wordpress俄语主题

хорошо哈拉少wordpress俄语主题 wordpress俄文网站模板,推荐做俄罗斯市场的外贸公司建俄语独立站使用。 演示 https://www.jianzhanpress.com/?p7360

TOSUN同星TsMaster使用入门——3、使用系统变量及c小程序结合panel面板发送报文

本篇内容将介绍TsMaster中常用的Panel面板控件以及使用Panel控件通过系统变量以及c小程序来修改信号的值,控制报文的发送等。 目录 一、常用的Panel控件介绍 1.1系统——启动停止按钮 1.2 显示控件——文本框 1.3 显示控件——分组框 1.4 读写控件——按钮 1.…

程序设计:排版、检验报告的上下标解决几种办法

【啰嗦两句】 本文重点在于提供几个针对排版文档、各种检验报告系统等程序设计时,遇到的上下标录入、绘制展示等问题的应对办法,但是准确地说,并没有非常优秀的方案。 【上下标难题】 一般的行业或许对上下标并没有严格要求,多数…

绘图专用,26个常见流程图符号及其解释

关注作者 当您设计网站、构建应用程序或绘制业务系统时,您需要一种方法来清晰地绘制步骤和用户流程。虽然您可以使用流程图来概述这些过程,但箭头和方框只能帮助您到目前为止。为了清楚地表达您的意思,您需要流程图符号。 为了帮助解释每个流…

【STM32-学习笔记-11-】RTC实时时钟

文章目录 RTC实时时钟一、RTC简介二、RTC框图三、RTC基本结构四、RTC操作注意事项五、RTC函数六、配置RTCMyRTC.c 七、示例:实时时钟①、main.c②、MyRTC.c③、MyRTC.h RTC实时时钟 一、RTC简介 RTC(Real Time Clock)实时时钟 RTC是一个独立…

Asp .Net Core 实现微服务:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现

什么是 Ocelot ? Ocelot是一个开源的ASP.NET Core微服务网关,它提供了API网关所需的所有功能,如路由、认证、限流、监控等。 Ocelot是一个简单、灵活且功能强大的API网关,它可以与现有的服务集成,并帮助您保护、监控和扩展您的…

性价比1.2V电压基准替代

前言: 小于2V的电压基准比较少,且价格稍贵,对于要求不高的场合,1117可以替代使用,温度系数低于 100ppm/C, 价格便宜。 1117是线性稳压器的一种,一般情况下,输出电压可调。 如下述的1117&#xf…

使用 Java 和 FreeMarker 实现自动生成供货清单,动态生成 Word 文档,简化文档处理流程。

在上一篇博客中主要是使用SpringBootApache POI实现了BOM物料清单Excel表格导出,详见以下博客: Spring Boot Apache POI 实现 Exc()el 导出:BOM物料清单生成器(支持中文文件名、样式美化、数据合并&#…

探索与创作:2024年CSDN平台上的成长与突破

文章目录 我与CSDN的初次邂逅初学阶段的阅读CSDN:编程新手的避风港初学者的福音:细致入微的知识讲解考试复习神器:技术总结的“救命指南”曾经的自己:为何迟迟不迈出写博客的第一步兴趣萌芽:从“读”到“想写”的初体验…

SSM课设-学生管理系统

【课设者】SSM课设-学生管理系统 技术栈: 后端: SpringSpringMVCMybatisMySQLJSP 前端: HtmlCssJavaScriptEasyUIAjax 功能: 学生端: 登陆 学生信息管理 个人信息管理 老师端: 多了教师信息管理 管理员端: 多了班级信息管理 多了年级信息管理 多了系统用户管理

力扣 打家劫舍

动态规划,当前状态由前两个状态获得,滚动数组。 题目 从题可以看出要达到最高金额时,要从相邻的房屋拿。因此是当前房屋的金额隔一个做累加,当然还需要跟前一个相邻的房屋做比较,便于取到哪边金额更高,因此…

【Django开发】django美多商城项目完整开发4.0第12篇:商品部分,表结构【附代码文档】

本教程的知识点为: 项目准备 项目准备 配置 1. 修改settings/dev.py 文件中的路径信息 2. INSTALLED_APPS 3. 数据库 用户部分 图片 1. 后端接口设计: 视图原型 2. 具体视图实现 用户部分 使用Celery完成发送 判断帐号是否存在 1. 判断用户名是否存在 后…