软件测试 -- 进阶 5 软件测试用例

news2024/11/26 14:30:10

    及之而后知,履之而后艰,乌有不行而能知者乎?。-- 魏源
    释译:实际接触之后才知道真相,新自做了之后才知道困难,哪有不实践就能够知道的呢?

    需求 -> 分析 -> 设计 -> 策略,理论是实践的基础,思想是实践的指导,理论与思想指导实践。
    如何将理论与思想应用于实践,做就好了;遇到问题,使用理论、勤于思想,解决了问题,技能自然提高。
    Just Do it !做就好了。

1. 测试用例是什么?

  • 测试用例,Test Case
  • 为验证软件某个特定项(功能/非功能),而设计的一系列配置、输入、环境及预期结果,用于验证软件实现对需求的满足度
  • 软件需求、设计细化
  • 测试用例是测试执行步骤的细节描述,目的是验证软件需求的达成度,是软件分析、设计(方法/技术)及策略(方式)的具体体现

2. 测试用例做什么?

  • 软件测试分析、设计、策略所形成的方式、方法实例化

    - 覆盖软件需求
    - 模拟应用场景
    - 指导软件执行
    - 保障软件质量
  • 记录软件测试内容变更,控制软件测试版本
  • 分配软件测试任务,确认执行结果,评估软件质量

3. 测试用例组成要素

  • 基本要素
用例要素说明
用例编号 
功能模块/流程测试对象/功能项
测试项测试对象/功能项细化,分级描述,如1,1-1,1-1-1……
测试点特定的验证/测试目的
关联模块数据流入、流出模块,接口或设计用模块,Driver/Stub
测试环境/前置条件特殊要求/准备
测试数据动作 -> 数据 -> 对象
操作步骤每个步骤只完成一个操作
预期结果 
设计人 
设计时间 
更新人 
更新时间 
更新原因 
  • 补充要素 -- 建议项,作为软件测试用例公共项描述
补充要素说明
项目/软件 应用系统名称
系统背景应用环境/行业/基本规范
系统版本测试对象版本
测试类型单元/功能/集成/系统/性能……易用性/UI/链接/安全......
测试目的 
测试环境操作系统/服务器/数据库/客户端/三方软件或插件/网络……
特殊说明所需特定软件版本、权限(用户名、密码)……
测试参考测试所需参考文件、资产库目录……

4. 测试用例设计原则

  • 覆盖,价值最大化,目标 100%

    - 软件需求定义
    - 系统设计业务
    - 实际应用场景

    - 业务主场景(主流程) + 分支场景(分支流程)
    - 正常操作 + 异常操作(系统能正常结束吗?能正常处理吗?足够健壮吗?安全吗?)
  • 清晰

    - 目标明确:测试类型,测试对象,测试策略
    - 每次只针一个测试点进行用例设计(特别是性能测试)
    - 验证标准可操作、有指导性:具体数据 或 准确描述
    - 预期结果的“好、正常”之类的描述,不能准确指导测试执行者,可以考虑使用图片 或 手绘示意进行说明或指明参考
  • 简洁

    - 动作 -> 数据 -> 验证对象
    - 陈述句:步骤 + 预期结果
    - 一般现在时,客观(尽量不使用形容词或副词)
  • 主次

    - 识别主流程 和 分支流程
    - 区分正常场景 和 异常场景
    - 适用不同测试类型 和 测试策略(冒烟测试、验收测试、健壮性测试)
  • 改进

    - 需求、设计、实现变更,及时更新测试用例
    - 对业务理解深入,调整(增加/删减)测试用例
    - 每轮测试结束后,依据实际执行调整(增加/删减)测试用例(数据/描述)
    - 测试结束后,更新测试用例模版,方便后续使用;提取公共测试用例,提升测试设计和执行效率
    - 梳理测试类型、测试工具,精简测试用例,提高测试用例复用率

5. 测试用例管理基础

    说明:
        - 目标:提高测试用例设计、更新、分配、执行、查询、统计分析的效率
        - 过程中的当前数据 及 历史数据对测试过程是极其重要的,是质量评估和工作效率评价的基础
        - 建议使用工具(系统)进行管理,当然EXCEL是不错的选择(大型系统,需要注意操作性能、查询统计功能)
        - 软件过程管理工具中会有对测试用例管理的小模块(或是通过某种变化完成对测试用例设计及执行的管理),功能完备度一般
        - ClearCase(IBM),JIRA(缺陷管理,通过第3方插件扩展可以实现用例管理),TestLink(开源,PHP)
        - 测试用例设计/更新版本记录、执行任务分配,正在寻找更适合的工具(也在自我实现中)

  • 测试公共项描述
  • 测试用例设计 / 评审(review)/ 版本更新

    - 基本要素 + 补充要素
    - 更新人
    - 更新时间
    - 更新原因
    - 用例状态(在用/弃用)
    - 版本更新记录 -- 查询 / 对比测试用例更新原因
  • 测试用例任务分配

    - 执行版本
    - 分配人
    - 执行人
    - 分配时间
    - 计划完成时间
  • 测试用例执行

    - 执行人
    - 执行时间
    - 执行备注
    - 提交缺陷链接
    - 回归执行(问题验证)记录
  • 测试用例分析/总结 -- 配合缺陷分析

    - 需求项(需求列表)-> 测试用例设计数 -> 测试用例执行数 -> 测试用例通过数
    - 用例类型(功能、易用性、UI)
    - 展示方式:表、图 + 简要说明 + 质量说明(测试系统)

6. 再多一点

  • 测试用例大纲

    - 测试用例大纲:测试对象 -> 测试项 + 子测试项1 + 。。。子测试项2 -> 测试点
    - 测试用例大纲是测试策略、测试用例设计的目录化(测试用例模版前4列,参考 基本要素)
    - 明确测试用例逻辑,指导测试用例设计
      * 明确测试对象、测试项
      * 分级测试项、细化测试点
    - 保障测试需求覆盖,对应验收测试确认

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

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

相关文章

大数据中Hadoop、Hive、Spark的关系

文章总括图 数据存储 单机数据库时代 所有数据在单机都能存的下,数据处理的任务都是IO密集型,更谈不上分布式系统 一个典型的2U服务器可以插6块硬盘,每块硬盘4T,共24T原始容量,再加上一些数据包的可用冗余&#xf…

A Self-Attentive model for Knowledge Tracing论文笔记和代码解析

原文链接和代码链接A Self-Attentive model for Knowledge Tracing | Papers With Code motivation:传统方法面临着处理稀疏数据时不能很好地泛化的问题。 本文提出了一种基于自注意力机制的知识追踪模型 Self Attentive Knowledge Tracing (SAKT)。其本质是用 Tra…

【博学谷学习记录】超强总结,用心分享|架构师-Spring核心组件介绍

文章目录一、Bean组件二、Context组件一、Bean组件 Bean组件定义在Spring的org.springframework.beans包下,解决了以下几个问题: 这个包下的所有类主要解决了三件事: Bean的定义 Bean的创建 Bean的解析 Spring Bean的创建是典型的工厂模式…

centos7安装字体和中文字体

文章目录1.查看自己的操作系统2. 安装字体库3.安装更新字体命令4.查看中文字体5.新建目录6.拷贝 fonts.scale 和windows上的字体到chinese文件夹中.将字体文件放在chinese目录7.授权,该目录及其下所有文件需要有执行权限8.重新建立字体索引、更新缓存9.查看字体是否…

信号包络及其提取方法(Matlab)

信号包络及其提取方法 介绍信号包络,以及信号包络的提取方法。 一、信号包络 直观地从时域来讲,信号包络就是信号波形的轮廓。 本质上,信号包络是带通信号的基带部分。 一个实带通信号记为x(t),将它频谱的中心频点搬移到零频…

数据结构初阶--栈和队列(讲解+类模板实现)

栈的概念和结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)加粗样式的原则。 入…

debug - 用Procmon记录目标程序启动后的操作

文章目录debug - 用Procmon记录目标程序启动后的操作概述笔记备注ENDdebug - 用Procmon记录目标程序启动后的操作 概述 想看看 D:\Cadence\SPB_17.4\tools\bin\Capture.exe 开始页中的recent projects 从哪里读的. 想用Procmon记录Capture.exe启动后的动作, 再记录成文本日志…

【Spring】一文带你吃透AOP面向切面编程技术(上篇)

个人主页: 几分醉意的CSDN博客_传送门 文章目录💖AOP概念✨AOP作用✨AOP术语✨什么时候需要用AOP💖Aspectj框架介绍✨Aspectj的5个通知注解✨Aspectj切入点表达式✨前置通知Before💖投票传送门(欢迎伙伴们投票&#xf…

Nginx加载Lua脚本lua_shared_dict缓存

1、介绍 lua_shared_dict缓存是nginx为lua提供的一个多进程共享空间,为了避免多进程修改造成脏数据,lua_shared_dict修改数据是用锁来实现的。这样就会有qps访问瓶颈变小的问题。这是性能缺点。 2、使用 1)首先在nginx.conf里申请一块共享…

数据分享|PYTHON用决策树分类预测糖尿病和可视化实例

全文下载链接:http://tecdat.cn/?p23848在本文中,决策树是对例子进行分类的一种简单表示。它是一种有监督的机器学习技术,数据根据某个参数被连续分割。决策树分析可以帮助解决分类和回归问题(点击文末“阅读原文”获取完整代码数…

大一学生WEB前端静态网页——唯品会1页 包含hover效果

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 在线商城购物 | 水果商城 | 商城系统建设 | 多平台移动商城 | H5微商城购物商城项目 | HTML期末大学生网页设计作业,Web大学生网页 HTML&a…

SpringCloud:使用Nacos作为配置中心

目录 一、nacos配置中心简介 二、nacos配置实时更新及同一个微服务不同环境的差异化配置 准备工作 针对商品微服务实现实时更新(以商品微服务为例) 三、nacos同一个微服务不同环境的共享配置 同一个微服务修改配置才能访问不同环境 四、nacos不同微…

【JavaEE】MyBatis

文章目录1.MyBatis介绍2.MyBatis快速入门3.Mapper代理开发4.MyBatis核心配置文件5.配置文件完成增删改查5.1 查询5.2 添加/修改5.3 删除6.MyBatis参数传递7.注解完成增删改查1.MyBatis介绍 1.什么是MyBatis? MyBatis是一款优秀的 持久层框架,用于简化JDBC开发MyBat…

STC 51单片机46——看门狗测试

#include <reg52.h> sfr WDT_CONTR 0xE1; //声明WDT_CONTR void delay(void){ //改变延时长度&#xff0c;可以观测是否触发看门狗 unsigned char i,j,k; for(i0;i<255;i) for(j0;j<255;j) for(k0;k<255;k); } void…

图神经网络

前言 图与图的表示 图是由一些点和一些线构成的&#xff0c;能表示一些实体之间的关系&#xff0c;图中的点就是实体&#xff0c;线就是实体间的关系。如下图&#xff0c;v就是顶点&#xff0c;e是边&#xff0c;u是整张图。attrinbutes是信息的意思&#xff0c;每个点、每条…

MFC界面控件BCGControlBar v33.3 - 升级Ribbon Bar自定义功能

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中&#xff0c;并为您节省数百个开发和调试时间。 该版本包含了增强的Ribbon自定义、新的日期/时间数字指示器、带有文本对齐的组控件、多行支持以及其他一些新功…

第二证券|12月A股投资方向来了!这些板块已先涨为敬

日前&#xff0c;我国银河、信达证券、中泰证券、安全证券等多家券商连续发布12月A股月度出资组合。全体上券商对后市持活跃情绪&#xff0c;以为当时商场处于震动磨底装备区间&#xff0c;商场动摇并不影响“暖冬行情”的延续&#xff0c;一些活跃的券商以为后市有望走出季度级…

R语言rcurl抓取问财财经搜索网页股票数据

问财财经搜索是同花顺旗下的服务之一,主要针对上市公司的公告、研报、即时新闻等提供搜索及参考资料。相对于其他股票软件来说&#xff0c;一个强大之处在于用自然语言就可以按你指定的条件进行筛选。而大部分现有的行情软件支持的都不是很好&#xff0c;写起来就费尽心思&…

Nginx加载Lua脚本链接mysql

1、nginx加载lua脚本方法可参我的这篇文章 Nginx安装Openresty加载Lua代码_IT东东歌的博客-CSDN博客 2、测试代码 官网 https://github.com/openresty/lua-resty-mysql local mysql require "resty.mysql" local db, err mysql:new() if not db then ngx.sa…

Django 第四章 模版系统详解(ORM数据模型-使用mysql数据库增删改查)

djiango模版系统&#xff1a; 用于自动渲染一个文本文件&#xff0c;一般用于HTML页面&#xff0c;模版引擎渲染的最终HTML内容返回给客户端浏览器 模版系统分成两部分 静态部分&#xff1a; 例如html css .js 动态部分 djiango 模版语言&#xff0c;类似于jinja语法变量定义&…