回顾
软件生命周期:
https://img2018.cnblogs.com/blog/1168165/201911/1168165-20191105003455934-879689745.png
测试过程:
记住开发模型:
- 瀑布模型
- 快速原型模型
- 螺旋模型,它增加了风险管理
- 敏捷开发模型
测试模型:
- v模型
- w模型,v模型的升级版优化版
- h模型,测试就绪点
V、W、H模型总结
V模型适用于中小企业。
W模型适用于中大型企业,因为对于项目组成员要求高。
H模型对项目组成员要求非常高,很少有公司采用。
测试分类
- 按照软件是否执行来分:
- 动态测试:执行程序
- 静态测试:程序不执行,测用户手册、需求文档等其他的文档或说明书。
- 按照手工/自动化来分:
- 手工测试,什么都要自己干
- 自动化,将一些复杂的,人为条件达不到一些情况,交给计算机来干,比如,并发,模拟5000人同时访问某个接口。可以写一些自动化的脚本,来完成一些重复性的,不是特别重要的工作。
- 按照测试对象来分:
- 黑盒测试:不关注程序的内部构造,不看代码,只看根据一组输入数据,看你程序输出结果,判断输出结果与设计说明书是否相符。
- 白合测试:看代码,关注代码的逻辑有没有问题
- 灰盒测试:既关注代码的内部逻辑,又关注输入输出结果
- 单元测试:被测程序的最小单元,函数或者类
- 集成测试:有若干单元组成的功能或者模块、子系统,对这个功能或者模块进行测试
- 系统测试:对于系统整体做测试,看是否符合软件需求规格说明书。
- 验收测试(AT,acceptance test)与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。一般分为:
- α测试(内测):Alpha测试模拟实际操作环境下验收测试,如删档内测试,软件只是初步完成的产品,bug可能较多,不会进行上线提供用户访问。
- β测试(公测):Beta测试系统已经通过内部测试,大部分错误已经修复,即将正式发布,在多个真实环境下发布,如不删档公测。 对比α版本已经有了较大改进,但仍可能存在一些bug,需要大规模测试,例如DNF公司更新一个地图,提供公测免费下载,由专业游戏玩家进行游戏结果反馈,开发者再进行修复。
- γ版本:Gamma版本,指的是软件版本正式发行的候选版本,与即将发布的正式版相差无几。Gamma版也可以称为RC(Release Candidate)版本。
- UAT测试:UAT测试(user acceptance test),UAT(用户验收测试)阶段的测试就不是软件开发商自己的测试来做了,而是由客户根据自己的实际业务场景,(或派人员)来使用软件,对具体的功能进行测试。
- 回归测试(regressive testing)是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
- 穷尽测试:我们无法对软件进行穷尽测试,因为测试受测试环境和成本等资源限制,但是我们希望是尽可能的使用多的测试用例测试被测对象。
- 功能测试:主要测试程序的功能是否齐备。
-
冒烟测试:主要用于硬件行业,比如测试一个电路板,当你修改了某个电路电容,进行测试,通电,没有问题,正常的运行了,有问题的话,电路板中的电容就烧了,烧了就冒烟了,所以叫冒烟测试。
目前测试行业,主流的还是手工测试为主,自动化测试为辅助。
参考:https://www.cnblogs.com/Neeo/articles/11795967.html
常用的黑盒测试方法
自动化:只有当可以进行自动化的用例占总用例的20%以上,才考虑使用自动化,否则就得不偿失。
黑盒测试:关系输入输出,不关心内部实现。
等价类划分法
一般定义:分析用户所有可能的输入,并将其划分为若干份,然后从每一份中提取具有代表性的数据当做测试用例,这种测试方法称为等价类划分法。
它将不能穷举的测试过程进行合理的分类,从而保证设计出来的测试用例具有完整性和代表性。
在有限的测试资源的情况下,用少量有代表性的数据得到比较好的测试效果。
等价类划分分为(基本概念):
- 有效等价类,指符合《需求规格说明书》,输入合理的数据集合。
- 无效等价类,指不符合《需求规格说明书》,输入不合理的数据集合。
等价类思考步骤:
- 首先确定有效等价类和无效等价类
- 有效等价类就是一目了然的题目条件(比如在0~20之间测试),要考虑到两端的极值(边界值)和中间值。
- 无效等价类先划分与条件相反的情况(比如不在0~20范围内),再去找特殊情况,如中英文,符号、空格、空等。
补充 知识点:如何将Python文件打包成EXE可执行文件
用pyinstaller将py文件打包成exe文件。
下载模块:
pip install pyinstaller
pyinstaller -F py文件