一、软件测试概念和理论
1.1测试的目的和原则
软件测试的目的
- 测试的目的是为了找到软件/网站存在的问题(bug、用户体验不好、界面丑陋、功能是否全面)
- 通过提前找到软件存在的问题,可以降低商业风险【省钱】
软件测试的定义
- 软件测试就是用人工或者自动化对软件系统进行测试,通过测试需要找到预期结果和实际结果的差异
- 预期结果:在测试之前我们就知道的结果和我们希望出现的结果
- 实际结果:测试之后得到的结果
软件测试的基本原则
1)所有软件只能证明存在问题,不能证明不存在
- 辩证
- 所有软件都是有问题的,只是这些问题是否已经被发现
2)不能进行穷举测试,应该进行分类测试
- 穷举测试:将所有的可能都测试一遍
- 分类测试:
- 可以被正常搜索的:也就是可以正常显示的那些
- 不可以被正常搜索的:也就是不可以正常显示的那些
- 特殊情况:带有特殊符号、空格、什么都不输入
3)测试工作应该尽早介入,可以降低修复成本
- 尽早发现问题,尽早解决
4)缺陷聚集原则,二八法则
- 一个项目中的80%缺陷会集中到20%的模块
- 越是有问题的地方,往往会有其他的问题
- 出现这个现象的原因有
- 负责这个模块的程序员技术一般
- 模块功能复杂
5)测试依赖环境
- 程序的构架:B/S C/S
- B/S构架:broswer/server、通过浏览器访问服务
- C/S构架:client/server、通过客户端程序访问服务
- 测试B/S构架准备三款浏览器:谷歌、火狐、IE【苹果、欧鹏、QQ、360、搜狗】
- 测试C/S构架准备:
- PC:win7、win8、win10、mac、Linux
- 手机:安卓、苹果、鸿蒙
6)杀虫剂现象
- 测试人员在经过一段时间后会进入自己的固有的思维意识,很难在测试出其他的bug,这个时候可以进行交叉测试,就是交互测试人员。
7)不存在缺陷谬论
- 辩证
- 所有软件都是有问题的,只是这些问题是否已经被发现