当前位置: 首页 > news >正文

软件测试用例篇——概念

目录

  • 概念
  • 设计测试用例的万能公式
    • 1、常规思考+逆向思维+发散性思维
    • 2、万能公式
    • 3、弱网测试
    • 4、安装卸载测试
  • 设计测试用例的方法
    • 例:注册邮箱账号需求,设计测试用例(部分)
      • 补充

概念

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

原则:测试用例中一个必需部分是对预期输出或结果进行定义

  • 编写测试用例,通过编写测试用例我可以想到要测试哪些内容,通过一次又一次的更新修改将测试用例写到完成功能覆盖更高即可
  • 笔试的时候编写测试用例题,需要按照excel表格的方式来答题;而面试的时候回答测试用例题,按照思维导图的方式一一道来即可

excel表格:会涉及到测试用例的要素
思维导图:不会涉及到测试用例的要素

excel表格方式(登录测试用例)
在这里插入图片描述
思维导图方式(登录测试用例)
在这里插入图片描述

  • 能够设计出来的测试用例不够具体,太笼统,无法作为测试工作的参考依据;工作中,测试用例的设计并不是越多越好,而是能够达到更大的功能覆盖率则是更好的(学习中,测试用例的设计一定是越多越好的!!!考察大家的思维发散能力如何!)

设计测试用例的万能公式

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

正确设计测试用例的思想:常规思维+逆向思维+发散性思维设计测试用例的

原则:

  1. 测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应该根据无效和未预料到的输入情况。
  2. 检查程序是否“未做其应该做的”仅是成功的一半,测试的另一半是检查程序是否“做了其不应该做的”。(是上一条原则的必然结果)
  3. 计划测试工作时不应默许假定不会发现错误。

打开思维后,设计测试用例是想到一条就说一条,如果没有正确的引导,说出来的测试用例一定是有限的且数量不容乐观的

2、万能公式

设计测试用例的万能公式:功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试。(引导的作用,帮助大家按照分类来设计测试用例)

  • 功能测试:从产品功能角度出发,验证功能是否是正确的
  • 界面测试:肉眼可以看到的部分都称为界面,界面所有的元素都需要测试(内容:元素——大小、颜色、形状、材质(可以摸到的))
  • 性能测试:通常为一些极端的、特殊的场景下进行的测试
  • 兼容性测试:不同版本(软件、系统)浏览器的兼容性不同的浏览器
  • 易用性测试:具备简单易上手的属性(引导教程)
  • 安全测试:是否具备危险材质、气味;接口响应数据也要考虑到用户数据的安全性登录场景也需要将秘密进行加密展示;数据存储用户隐私数据是否加密;SQL注入;越权

3、弱网测试

为了覆盖更多的网络场景。(WIFI、5G、4G、3G、2G)
弱网测试目的就是尽可能保证用户体验,关注的关键点包括:

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

在这里插入图片描述
如何进行弱网测试?
借助工具来模拟实现弱网测试:抓包工具(fiddler、Charles)

例:fiddler

  1. fiddler配置代理
  2. fiddler进行抓包(桌面/移动端)
  3. fiddler如何构造弱网条件

设置弱网
在这里插入图片描述
打开设置弱网的脚本
在这里插入图片描述
“Ctrl+F”查找m_simulateModem
在这里插入图片描述

上行速率:发送请求到远程服务器
下行速率:服务器处理完请求之后发送到客户端
传输1KB到远程服务器需要300ms的时间(慢)
响应给客户端传输1KB需要150ms的时间(快)
传输1KB,设置的数字越大,传输速率越慢

4、安装卸载测试

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

  • 安装:安装包是否可以安装、卸载之后是否可以继续安装、重复安装…
  • 卸载:安装完成后卸载、安装一般后卸载、卸载一次后继续安装继续卸载、卸载一半停止后是否还可以继续卸载…

设计测试用例的方法

测试和开发工作开展的依据:
参考需求文档/产品规格说明书来设计测试用例
在这里插入图片描述
测试人员接到需求之后,要对需求进行分析和验证,从合理的需求中进一步分析细化需求,从细化的需求中找出测试点,根据这些测试点再去设计测试用例

例:注册邮箱账号需求,设计测试用例(部分)

通用流程/绝大多数用户的操作流程/主流程

  1. 用户选择注册;
  2. 系统展现用户协议界面,并请用户确认是否同意用户协议若用户不同意协议,系统禁止用户注册。若用户同意协议,用户进行注册信息填写。
  3. 用户填写注册信息。
    注册个人,填写:姓名,电子邮箱,密码,确认密码,验证码。
  4. 用户提交注册信息:
  5. 系统提示用户并向用户注册的电子邮件地址发送一封含有激活信息的电子邮件。系统并提示用户,若未收到激活邮件,可使用注册的邮箱和密码录系统后再次发送激活邮件。
  6. 用户可执行激活操作,直接跳转至注册邮箱门户页面。
  7. 用户通过接收到的电子邮件中的激活信息激活账号,用户注册完成,流程结束。

可能的流程

  1. 扩展事件流:用户注册并激活成功后,第一次登录平台时,提示用户完善信息
  2. 异常事件流:若用户未收到激活邮件,可在登录界面录入电子邮件及密码后,再次发送激活邮件。每次发送的激活邮件,仅在发送邮件后起 24 小时之内有效,超过 24 小时后需重新发送激活邮件。

补充

界面测试:协议界面、注册界面、激活界面、登陆界面
数据兼容性:邮箱注册后,手机号是否可以登录;若数据之后增加到百万千万等宽度,展示是否正常

相关文章:

  • JavaSec-SpringBoot框架
  • Python 接口:从协议到抽象基 类(定义并使用一个抽象基类)
  • go语言map扩容
  • 数据结构测试模拟题(4)
  • PySide6 GUI 学习笔记——常用类及控件使用方法(多行文本控件QTextEdit)
  • 1.认识Spring
  • 第3章:图数据模型与设计
  • 运行示例程序和一些基本操作
  • [ACTF2020 新生赛]Include 1(php://filter伪协议)
  • AI数据分析在体育中的应用:技术与实践
  • 从零设计一个智能英语翻译API:架构与实现详解
  • 计算机组成与体系结构:补码数制一(Complementary Number Systems)
  • 信息最大化(Information Maximization)
  • 大模型在创伤性脑出血全周期预测与诊疗方案中的应用研究
  • leetcode刷题日记——二叉搜索树中第 K 小的元素
  • 从认识AI开始-----AutoEncoder:生成模型的起点
  • Web前端基础
  • ELK日志管理框架介绍
  • XSS(跨站脚本攻击)详解
  • 对称哈希连接实现
  • 可信赖的网站建设案例/品牌营销策划培训课程
  • 新建网站如何做关键词/营销型网站建设怎么做
  • 芜湖营销网站建设/千锋教育的官网
  • 网站怎么做能让人搜到/文章推广平台
  • 建立问答类的网站/seo代理
  • 视频聊天室网站开发/阿里妈妈推广网站