当前位置:网站首页>软件测试用里篇
软件测试用里篇
2022-07-27 05:21:00 【只羡鸳鸯不羡仙仙】
目录
一、软件测试用例
1、万能公式
功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试

二、设计测试用例的方法介绍
1、基于需求进行测试用例
需求分析——需求有哪些功能——设计测试点——设计测试用例
假如说给定的软件需求就是:提示姓名长度为6~15位? 6,7,8,....15—一通过穷举法来设计测试用例,若测试用例通过,则认为功能符合需求要求
假如说:姓名长度不是6~15位,而是6~200/500位,应该如何来设计测试用例? 通过穷举法来设计肯定是不符合要求!
2、等价类
通过分区分块——>使用较少的测试用例达到符合系统的测试覆盖
针对需求输入范围分成若干个等价类,从其中一个等价类里取出一个用例,若该测试用例全部通过,就认为该测试用例所在的等价类都通过了,反之则就是不通过。
假如说:姓名长度不是6~15位,而是6~200位,应该如何来设计测试用例?
等价类又划分为有效等价类和无效等价类
有效等价类:针对需求来说是有效且有意义的数据的集合
无效等价类:针对需求来说是无效且没有意义的数据的集合
例如:
①确定有效和无效等价类
有效等价类:6——>200 无效等价类:小于6大于200
②编写测试用例

3、边界值
边界值就是等价类的补充
边界值+次边界值

4、判定表法
就是一种表达逻辑判断的工具
判定表设计测试用例的步骤:
确认输入条件和输出条件以及它们的关系;画判定表;根据判定表编写测试用例
需求:订单已提交,订单合计金额大于300元或者订单有红包,则认为该订单属于有优惠的订单,否则属于没有优惠的订单。
确认输入和输出条件
输入条件:金额大于300(A)或者有红包(B),并且订单已经提交(C)
输出条件:是(1)否(2)有优惠
找出输入和输出条件的关系
AC BC ABC C A B AB 非ABC
1 1 1 2 2 2 2 2
画判定表

编写测试用例
1)金额大于300元,没有红包,提交订单,结果为有优惠
2)金额不大于300元,有红包,提交订单,结果为有优惠
3)金额大于300元,有红包,提交订单,结果为有优惠
4)金额不大于300元,没有红包,提交订单,结果为无优惠
5)金额大于300元,没有红包,不提交订单,结果为无优惠 6)金额不大于300元,有红包,不提交订单,结果为无优惠
7)金额大于300元,有红包,不提交订单,结果为无优惠
8)金额不大于300元,没有红包,不提交订单,结果为无优惠
5、正交法
需要用到 正交表
因素数:输入的条件
水平数:输入条件对应的结果(不是输出条件)
通过正交法设计测试用例的步骤L4(2^3):找到因素数和水平数;用allparis工具来生成正交表;根据正交表来编写测试用例;补充测试用例.

6、场景设计法
根据具体场景进行设计,主要分为基本时间和多个备用事件流

7、错误猜测法
错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
三、测试分类
1、按照测试对象分
界面测试(UI测试),可以参考UI设计图

可靠性测试
可靠性 = 正常运行时间/(正常运行时间+非正常运行时间)*100%
可靠性指标一般要求达到4个或5个“9”,即99.99%或者99.999%
容错性测试
容错性测试是指系统能够处理异常,用户的错误操作而不至于系统崩溃,从而能够提高系统的可用性。
兼容性测试
兼容性测试需求是指明确要测试的兼容环境,考虑软,硬件的兼容,就软件兼容来说,主要考虑以下几个方面:
系统自身版本的兼容,用户已有数据的兼容,数据兼容是重中之重,对用户来说,数据是最有价值的。
测试与应用环境的兼容性,比如操作系统,应用平台,浏览器的兼容
测试与第三方系统以及第三方数据的兼容性
易用性测试
软件需要具备简单易上手的属性
安装卸载测试
对软件进行安装和卸载查看是否会出现问题
安全测试
安全性是指信息安全,是指计算机系统或网络保护用户数据隐私,完整,保护数据正常传输和抵御黑客,病毒攻击的能力。安
全性测试属于非功能性测试很重要的一个方面,系统常见的安全漏洞和威胁如下:
输入域,如输入恶性或者带有病毒的脚本或长字符串;
代码中的安全性问题,如SQL/XML注入
不安全的数据存储或者传递数据文件,邮件文件,系统配置文件等里面有危害系
统的信息或者数据;
有问题的访问控制,权限分配等假冒ID:身份欺骗
篡改,对数据的恶意修改,破坏数据的完整性
性能测试

内存泄漏测试

2、按是否查看代码划分
黑盒测试(数据驱动测试或者功能测试):把代码看成一个匣子,不关心内部结构和内部特性,只关心功能是否符合规格说明书

白盒测试(结果测试或者逻辑驱动测试):检查程序内部的运行状态是否符合预期

灰盒测试:灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确
性,同时也关注程序内部的情况。

3、按照尅发阶段划分
单元测试:针对系统的最小单元进行测试,最小单元是自定义的
集成测试:完成单元测试之后,将模块和模块之间集成,按照功能进行测试
冒烟测试:由测试人员来执行,检查系统主要功能和主要流程是否正常,冒烟测试一般在开发人员开发完毕后提交给测试人员来进行测试 时,先进行冒烟测试,保证基本功能正常,不阻碍后续的测试。如果冒烟测试通过,则测试人员开始进行正式的系统测试,如果不通过,则测试人员可以让开发人员重新修复代码直到冒烟测试通过,再开始进行系统测试。
系统测试:将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。
回归测试:对历史版本以及历史功能进行测试,保证功能符合要求,由于版本较多所以相对难度较大,因此需要借助自动化测试
验收测试:通常是指让用户进行验证测试,查看是否达到预期的要求
边栏推荐
- Solve binary tree (5)
- UnityShader-LowPoly
- Force deduction problem solving monotonous stack
- wireshark数据包修改--IP地址修改(一)
- ROS通信机制进阶
- Li Kou daily question sword finger offer II 091. paint the house
- 论文报告-Linear Regression for face recognition
- wireshark图形界面抓包
- 遥感影像识别进展2022/5/5
- Pycharm installation and import project considerations
猜你喜欢
随机推荐
Kaggle调用自定义模块方法
C语言-动态内存管理
通信机制案例
Li Kou 236. the nearest common ancestor of binary tree
力扣题解 动态规划(4)
力扣每日一题leetcode 513. 找树左下角的值
力扣题解 动态规划(1)
C语言-程序的编译
力扣题解 动态规划(7)
Unity 实用小技巧(更新ing)
导航相关消息
常见的SQL优化方法
数据库索引的一些说明以及使用
Osg环境搭建(Win10+Vs2019)
力扣题解 动态规划(3)
编程学习记录——第4课【分支和循环语句】
TF坐标变换
Solve binary tree (6)
多坐标变换
编程学习记录——第6课【函数】








![[5.20 special] MATLAB, I'm confessing to you](/img/ce/ea8697db3e10a216efc9ac5e0fad8d.png)