测试开发——测试分类

简介: 测试开发——测试分类

一、 有关测试用例的回顾

万能测试用例设计公式

a5bf9d4a85ab483ba02e2ddbf285e651.png


 

如何根据需求去设计测试用例?


1、验证需求的正确性,合理性,无二义性(没有歧义),逻辑自洽。

2、分析需求,细化需求,从需求中提取出测试项,根据测试项找到测试点,再根据测试点去具体的设计测试用例。

根据需求设计测试用例分为那两个方面?

1、功能性

 1.1、界面的所有功能不能遗漏(技巧:从上到下,从左往右,一层一层的扫描)

 1.2、把多个功能串联起来,形成 场景 / 业务,对 场景 / 业务 进行测试。

 1.3、针对一个功能的多个输入进行测试,观察输出是否与预期结果一致。

 1.4、同一个系统下,不同功能的交互性

 1.5、功能的异常测试

 1.6、功能所用到的算法,也是需要进行验证的。


2、非功能性

 易用性,容错性,安全性,性能,可维护性,可靠性,可移植性,稳定性,兼容性等等。。。


需要注意的是:不同类型的软件,非功能性测试的侧重点是不一样的。

面向客户端的软件:对 稳定性 和 兼容性 要求高,对 安全性 和 性能要求低。

面向企业内部的软件:对 功能性 和 可靠性 要求高,对 兼容性 和 性能 要求低。

大型商用软件:对 非功能性的各个方面的要求都很高!

具体的设计测试用的方法有哪些?

1、等价类【有效等价,无效等价】

2、边界值

3、判定表(因果图,使用场景较少)

4、场景设计法(不常见)

5、正交法(用的比较少)

6、错误猜测法  


二、 测试用例的划分


ead945ee99324d738e45d065e5ac2e38.png

1、 按照测试对象来划分



34b694a2b4784350ad6d351d48b18581.png


下面我们解释下上面提到的一些专业名词


2、可靠性测试

可靠性=正常运行时间 /(正常运行时间+非正常运行时间)* 100%

比如一节课45分钟,期间你上厕所5分钟、跑神10分钟,实际听课实际时间为30分钟。

则你课堂听课的可靠性为:30 /(30+5+10)* 100% = 66.7%



影响可靠性的因素

1、网络
2、软件环境(安装环境)
3、硬件环境


不管是上面那个环境的异常,都会使 软件运行发生异常。

软件自身

这里有一个问题:如果软件的自身没有问题,但是 软件部署的环境(网络 / 软件 / 硬件) 出了问题,使得软件不能正常运行的时间。

这个时间是否算入 软件非正常运行的时间里面?

也就是在问你:这个时间是否算入可靠性里面?

这个需要分情况讨论!

18948b9861cb49f0bf9b9671688a8892.png


 

总的来说:上面的这四点,都是指 服务器那边 出现的问题 会导致 软件的可靠性降低。

就这么说吧:如果你和其他有人都用不了 微信,那肯定就是 微信服务器 那边出了问题。

而这个非正常运行的时间,需要算入可靠性里面的。

另外,前面也说过:不同的软件对于 非功能性 的 要求是不一样的。

也就是说:不同的软件对可靠性的要求是不一样的。

非时性软件可靠性的要求一般为 99.99 %。【实时性为 99.95 %】


另外,还有一些特殊的软件(军事系统)对可靠性的要求更高:99.999 %

如果按一年365天来算的话:

可靠性为 99.99 %:它的非正常运行时间大约为 52 min

如果是 99.999 %,则为 5 min


那么,可靠性怎么去测试呢?

通常是将软件运行一周,将出现故障的时间记下来,去计算百分比。

【PS:测试可靠性,让软件运行一年肯定是不现实】



容错性测试

系统发生异常,或者由于用户的错误操作导致软件系统发生错误,软件自我消化掉错误,或者进行修改/修复,不让客户感知到系统内部的情况,就叫做 系统的容错性。



容错性和可靠性的区别

e833107ec2394995b299940d44d43481.png


内存泄漏测试

工作中:

1)人工检查

2)借助工具进行代码静态扫描


弱网测试


657644fe69264e2ca247ddf80bbbd066.png


那么如何计算上下行速率呢?


1df8293b8c9345d3a7a7c4c255d5c250.png


2、按照是否查看代码划分

黑盒测试

纯功能测试,不关心具体是怎么实现的、

白盒测试

关注程序的内部实现(单元测试)

灰盒测试

介于黑盒和白盒之间(继承测试)


为什么不能让灰盒测试(集成测试)取代黑盒测试和白盒测试?

灰盒测试没有白盒测试那么详尽,灰盒测试没有黑盒测试覆盖产品的广度大。

所以不能让灰盒测试(集成测试)取代黑盒测试和白盒测试


面试题

那种测试方法用到多?

黑盒测试和白盒测试,测试人员都会使用到,在工作中根据具体情况来

结合黑盒测试和白盒测试。

通常情况下对于测试人员来说:使用黑盒测试要来相对多一些


3、按照开发阶段划分



a61cba72cd784352877c7bd95d2c04bb.png


冒烟测试

开发人员完成开发任务后,交给测试人员进行测试的第一步,评估软件/系统是否具备测试的条件


回归测试


e899e388db044288940815d556c77a85.png

相关文章
|
2月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
130 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
62 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
4月前
|
运维 测试技术
测试与开发问题之测试开发工程师与软件开发工程师和测试工程师如何区别
测试与开发问题之测试开发工程师与软件开发工程师和测试工程师如何区别
|
4月前
|
监控 安全 测试技术
测试与开发问题之为什么测试开发工程师需要有安全生产意识,文档编写能力对于测试开发工程师的重要性如何理解
测试与开发问题之为什么测试开发工程师需要有安全生产意识,文档编写能力对于测试开发工程师的重要性如何理解
|
4月前
|
测试技术 数据库 开发者
Python全栈测试开发Chapter11 Mock测试
总结起来,Mock测试是一种有效的隔离测试环境、提高测试效率的方法,它让我们能够在不依赖外部条件的情况下进行全面的单元测试。在Python全栈测试中,Mock的应用是一种非常实用的技能。
30 0
|
5月前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
6月前
|
安全 测试技术
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
91 1
|
6月前
|
SQL XML 安全
【软件测试】 测试分类
【软件测试】 测试分类
|
7月前
|
SQL 安全 测试技术
软件测试:测试分类
软件测试:测试分类
|
7月前
|
测试技术