软件测试的测试用例

一、测试用例的概念

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


二、测试用例设计方法

1.等价类

1.1思想

依据需求将输入,划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题
有效等价类:实现了规格说明规定的功能和性能

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

1.2通过等价类设计测试用例

1.理解需求

2.划分有效等价类和无效等价类

3.细分和组合有效等价类、无效等价类

组合规则:一个测试点覆盖尽可能多的有效等价类

一条测试点只能覆盖一个无效等价类

1.3应用场景

输入数据无穷,但是输入数据有特点

2.边界值

上点:边界值的点

内点:边界值内的点

离点:边界左右的点,闭区间 ,范围外的点,开区间,范围内的点

2.1设计步骤

1.理解需求

2.找离点、内点、上点

3.针对离点、内点、上点设计测试用例

3.场景设计法

设计测试用例的具体步骤

1.主事件流

2.次事件流

3.主事件流和次事件流串联形成场景,一个场景一个测试用例

4.判定表法

4.1逻辑关系

恒等:条件为真,结果为真,条件为假,结果为假

与:条件全为真,结果为真,条件有一个假,就为假

或:条件全为假,结果为假,条件有一个真,就为真

非:条件为假,结果为真

4.2判定表设计测试用例

1.理解需求

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

3.判定表

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

5.正交表法

因素是指变量

水平指的是变量取值

5.1正交表性质

每一列中各数字出现的次数意义多

任何两列中的各有序数队出现的次数一样多

5.2正交表设计测试用例

1.确定因素

2.水平:确定因素取值

3.利用工具画正交法

4.正交表转换成测试用例

6、万能测试用例设计公式

功能 :软件的作用、运用

界面

易用性:符合大众使用习惯

兼容性::软件可以在各个平台运行

安全性:防止黑客攻击

性能:

网络

三、测试分类

1.测试对象分类

1.1界面测试

界面测试(简称UI测试),指按照界面的需求(一般是UI设计稿)和界面的设计规则,对我们软件界面所展示的全部内容进行测试和检查,一般包括如下内容:
1.内容显示的完整性,一致性,准确性,友好性。比如界面内容对屏幕大小的自适应,换
2.内容是否全部清晰展示;
3.验证整个界面布局和排版是否合理
4.对界面不同控件的测试
5.界面的布局和色调符合当下时事的发展。

1.2可靠性测试

可靠性是指系统正常运行的能力或者程度,一般用正常向用户提供软件服务的时间占总时间的百分比表示。
可靠性 = 正常运行时间/(正常运行时间+非正常运行时间)*100%

1.3容错性测试

容错性测试是指系统能够处理异常,用户的错误操作而不至于系统崩溃,从而能够提高系统的可用性。容错性测试包含以下方面:
输入异常数据或进行异常操作,以检验系统的保护性
灾难恢复性测试

1.4文档测试

国家有关计算机软件产品开发文件编制指南中共有14 种文件,可分为3 大类

开发文件:可行性研究报告、软件需求说明书、数据要求说明书、概要设计说明书、详细设计说明书、数据库设计说明书、模块开发卷宗。
用户文件:用户手册、操作手册
管理文件:项目开发计划、测试计划、测试分析报告、开发进度月报、项目开发总结报告。
关注 术语、正确性、完整性、一致性、易用性

1.5兼容性测试

兼容性测试需求是指明确要测试的兼容环境,考虑软,硬件的兼容,

软件兼容:
系统自身版本的兼容,用户已有数据的兼容,数据兼容是重中之重
测试与应用环境的兼容性,比如操作系统,应用平台,浏览器的兼容
测试与第三方系统以及第三方数据的兼容性

1.6易用性测试

产品在使用起来更加灵活和,舒适。软件产品也始终关注用户体验
易用性包含七个要素:符合标准和规范,直观性,一致性,灵活性,舒适性,正确性和实用



1.7安装卸载测试

应用的安装和卸载在任何一款APP中都属于最基本功能。一旦出错,就属于优先级为紧要Critical的缺陷。主要需要考虑以下方面:
软件不同的安装和卸载方式
应用是否可以在不同的环系统,版本下安装(安装兼容性)
安装或者卸载过程中是否可以手动暂停,或者取消
安装空不足的时候系统是否有提示
是否可以正常的卸载,以及应用软件的各种卸载方式
卸载和安装过程中出现环境问题,软件是否可以正常并且合理的应对。

1.8安全测试

安全性是指信息安全,是指计算机系统或网络保护用户数据隐私,完整,保护数据正常传输和抵御黑客,病毒攻击的能力。安全性测试属于非功能性测试很重要的一个方面,系统常见的安全漏洞和威胁。

1.9性能测试

常见的性能问题如下:
资源泄露
资源瓶颈
线程死锁,线程阻塞
查询速度慢或效率低
受外部系统影响越来越大

1.10内存泄漏

造成内存泄露的原因有很多,最常见的有以下几种

分配完内存之后忘了回收。
程序写法有问题,造成没办法回收
某些API函数的使用不正确,造成内存泄露。
内存泄漏的检测方法
人工静态法:代码走读,人工查找未被回收的内存。
自动工具法:借助相应测试内存泄漏的工具,如Visual Leak Detector,记录每次内存分配,清楚
告诉用户内存是如何泄漏的。

2.是否查看代码

2.1黑盒测试

黑盒测试就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使用(关注于业务功能)
优点:不需要了解程序内部的代码以及实现,不关注软件内部的实现,对测试人员代码能力要求较低
缺点:不可能覆盖所有代码。

黑盒测试用到的测试方法有,等价类,边界值,判定表,正价表,错误猜测表,场景表


2.2白盒测试

白盒测试又称为结构测试或逻辑测试,它一般用来分析程序的内部结构(内部代码逻辑)
白盒测试的测试目的是,通过检查软件内部的逻辑结构,不关注业务功能
主要包含六种测试方法:

语句覆盖:测试覆盖所有语句

判定覆盖:测试覆盖所有语句,所有判定的真假都要涉及

条件覆盖:测试覆盖所有为真、为假语句

判定条件覆盖

条件组合覆盖

路径覆盖:覆盖所有路径

优点:对测试人员代码能力要求较高

缺点:业务逻辑慧有问题

2.3灰盒测试

集成测试阶段

3.开发阶段

3.1单元测试

单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试
测试阶段:编码后或者编码前
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
 

3.2集成测试


集成测试,集成主要目的是检查软件单位之间的接口是否正确。
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块
缺陷对系统的影响

3.3系统测试

将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)

测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等


3.4回归测试

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

3.5冒烟测试

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件主要功能和核心流程正常,在正式进行系统测试之前执行。

3.6验收测试

验收测试是部署软件之前的最后一个测试操作,也称为交付测试。验测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都示该软件系统满足原始需求。

测试阶段:系统测试通过之后
测试对象:整个系统(包括软硬件)。
测试人员:主要是最终用户或者需求方。
测试依据:用户需求、验收标准
测试方法:黑盒测试
测试内容:同系统测试(功能...各类文档等)

4.测试实施


4.1分类

α测试、 β测试、第三方测试

4.2α测试与β测试区别

测试环境:α测试公司内部测试,β测试各种环境

测试人员:α测试公司内部员工,β测试客户

测试时间点:α测试在前,β测试在后

测试人员:α测试人员比β测试少

5.是否运行

5.1.静态测试

静态地检查程序代码、界面或文档中,仅通过分析或检查源程序的设计、内部结构、逻辑、代码风格和规格等来检查程序的正确性
 

5.2动态运行

指的是实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程


6.是否手工

6.1手工测试

6.2.自动化测试

7.测试地域

7.1国际化测试

7.2本地测试


 



 


 


 


 


 

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

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

相关文章

web蓝桥杯真题:成语学习

代码: //TODO 点击文字后,在idiom从左到右第一个空的位置加上改文字 getSingleWord(val) {let index this.idiom.indexOf() //从左往右查询空字符串this.$set(this.idiom, index, val) //响应式更新 },// TODO 校验成语是否输入正确答案 confirm…

vue iview 级联选择器遇到的坑

我们PC项目用到的前端技术栈是vue+iview,最近有个需求,要做个级联选择器,并且是懒加载动态加载后端返回的数据。效果如下: 如下图所示,在我们封装的公共组件form-box.vue里有我们级联选择器: 代码如下: <!--级联选择器--><template v-else-if="item.type…

基于Java的海南旅游景点推荐系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

在Django中使用PyJWT实现登录及验证功能

目录 1、安装PyJWT 2、对信息加密及解密 3、配置登录视图和及url 4、登录装饰器 5、在验证有登录权限的的视图中登录 PyJWT的使用 1、安装PyJWT pip isntall pyjwt 2、对信息加密及解密 import jwt import datetime from jwt import exceptions# 加密盐 JWT_SALT &qu…

腾讯云轻量服务器地域选择教程,2024最新地域选择攻略

腾讯云服务器地域怎么选择&#xff1f;不同地域之间有什么区别&#xff1f;腾讯云哪个地域好&#xff1f;地域选择遵循就近原则&#xff0c;访客距离地域越近网络延迟越低&#xff0c;速度越快。腾讯云百科txybk.com告诉大家关于地域的选择还有很多因素&#xff0c;地域节点选择…

Android 异常重启--踩坑归来--干货篇

如果你未对自己的app进行过处理&#xff0c;那么线上各种偶发莫名其妙的闪退、白屏、数据丢失&#xff0c;请检查一下是否因此而引发的。 起因 异常重建指的是非配置变更情况下导致的 Activity 重新创建。 常见场景大多是因为内存等资源不足&#xff0c;从而导致后台应用被系…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:XComponent)

可用于EGL/OpenGLES和媒体数据写入&#xff0c;并显示在XComponent组件。 说明&#xff1a; 该组件从API Version 8 开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 构造参数type为"surface"时不支持。 从API version …

深入理解DHCP服务:网络地址的自动化分配

深入理解DHCP服务&#xff1a;网络地址的自动化分配 在现代网络环境中&#xff0c;动态主机配置协议&#xff08;DHCP&#xff09; 是一个至关重要的服务&#xff0c;它允许自动分配IP地址和其他相关配置信息给网络中的设备。本文将深入探讨DHCP服务的工作原理、配置方法以及如…

apache commons-dbcp Apache Commons DBCP 软件实现数据库连接池 commons-dbcp2

DBCP组件 许多Apache项目支持与关系型数据库进行交互。为每个用户创建一个新连接可能很耗时&#xff08;通常需要多秒钟的时钟时间&#xff09;&#xff0c;以执行可能需要毫秒级时间的数据库事务。对于一个公开托管在互联网上的应用程序&#xff0c;在同时在线用户数量可能非…

VsCode 使用密钥连接 Centos

在 centos 下生成密钥 ssh-keygen 执行上述命令后&#xff0c;一路回车&#xff0c;直到出现如下界面&#xff1a; 查看密钥生成情况 cd /root/.ssh ls 结果如下所示&#xff1a; 服务器上安装公钥 cd /root/.ssh cat id_rsa.pub >> authorized_keys ls >查看确…

vue的setup语法糖?

在 Vue 3 中&#xff0c;引入了一个新的功能叫做 setup。setup 函数是用于设置组件的入口点&#xff0c;它可以替代 Vue 2.x 中的 data、computed、methods 等选项&#xff0c;用来配置组件的状态、计算属性、方法等。 setup 函数的基本结构如下&#xff1a; setup(props, co…

C语言(指针)单元练习

一&#xff0e;选择题 1&#xff0e;下列程序的输出结果是______。 A #include <stdio.h> #include <string.h> main() { char *p1,*p2,s[10]"12345"; p1"abcde"; p2"ABCDE"; strcpy(s2,p13); strcat(s,p22);…

Covalent Network(CQT)与 Celo 集成,推动 Web3 下一代现实资产解决方案的发展

Covalent Network&#xff08;CQT&#xff09;是一个统一的区块链 API 提供商&#xff0c;其已正式与 Celo 集成&#xff0c;Celo 是一个以移动优先的 EVM 兼容链。这一重要的里程碑旨在提升 Celo 生态系统中开发者的能力&#xff0c;通过授予他们访问关键链上数据的权限&#…

[Django 0-1] Apps模块

Apps 源码分析 Apps 下主要有两个类: AppConfig和Apps. 目录结构 apps/ # 应用目录 ├── __init__.py # 应用初始化文件 ├── config.py # AppConfig 类 ├── registry.py # Apps 类AppConfig 位于 apps/co…

Python | Bootstrap图介绍

在进入Bootstrap 图之前&#xff0c;让我们先了解一下Bootstrap&#xff08;或Bootstrap 抽样&#xff09;是什么。 Bootstrap 抽样&#xff08;Bootstrap Sampling&#xff09;&#xff1a;这是一种方法&#xff0c;我们从一个数据集中重复地取一个样本数据来估计一个总体参数…

基于SpringBoot+Druid实现多数据源:原生注解式

前言 本博客姊妹篇 基于SpringBootDruid实现多数据源&#xff1a;原生注解式基于SpringBootDruid实现多数据源&#xff1a;注解编程式基于SpringBootDruid实现多数据源&#xff1a;baomidou多数据源 一、功能描述 配置方式&#xff1a;配置文件中实现多数据源&#xff0c;非…

Qt教程 — 3.1 深入了解Qt 控件:Buttons按钮

目录 1 Buttons按钮简介 1.1 Buttons按钮简介 1.2 Buttons按钮如何选择 2 如何使用Buttons按钮 2.1 QPushButton使用-如何自定义皮肤 2.2 QToolButton使用-如何设置帮助文档 2.3 QRadioButton使用-如何设置开关效果 2.4 QRadioButton使用-如何设置三态选择框 2.5 QCom…

学习使用postman软件上传文件发起api接口请求

学习使用postman软件上传文件发起api接口请求 设置headers头信息设置body 设置headers头信息 如图设置&#xff1a; KEY&#xff1a;Content-Type VALUE&#xff1a;multipart/form-data 设置body 设置需要上传的key对应的类型为File&#xff0c;上传类型 设置需要上传的文件…

留学生课设|R语言|研究方法课设

目录 INSTRUCTIONS Question 1. Understanding Quantitative Research Question 2. Inputting data into Jamovi and creating variables (using the dataset) Question 3. Outliers Question 4. Tests for mean difference Question 5. Correlation Analysis INSTRUCTIO…

如何安装ES

Elasticsearch入门安装 ES的官方地址&#xff1a;Elasticsearch 平台 — 大规模查找实时答案 | Elastic 我们进到网页可以看到platform&#xff08;平台&#xff09; 我们可以看到Elasticsearch logstash kibanba beats 这几个产品 Elasticsearch&#xff1a;分布式&…