第一章:软件测试基础入门
软件测试(找bug,找缺陷)
- 一.软件测试的定义
- 二.测试的目的
- 三.测试的原则
- 四.测试的标准
- 五.测试的基本要求
- 六.测试的流程
- 七.软件开发模式
- 八.测试模型
- 九.测试与开发的关系
- 十.测试的分类
一.软件测试的定义
1.使用人工或者手动的手段来运行或者测试某个系统的过程。2.目的在于检验它是否满足规定的需求。3.弄清预期结果和实际结果的差别。
什么是软件?
二.测试的目的
目的在于检验它是否满足规定的需求,弄清预期结果和实际结果的差别。
以最小的人力、物力和时间找出软件中潜在的错误和缺陷
三.测试的原则
1.证明软件中存在缺陷
2.不能穷尽测试
3.测试应该尽早介入
4.28原则(80%的用户只会使用到20%的功能,20%的地方会出现%80的bug)
5.不存在缺陷谬论(所有的程序都存在缺陷,没有说程序没有缺陷的,只是不影响使用)
6.妥善保存一切文档
四.测试的标准
国际标准:ISO25010
国内标准:GBT20438、GBT18905
五.测试的基本要求
1.外观界面测试
2.易用测试(是否满足用户的需求)
3.兼容性测试
4.安全性测试
5.性能测试
6.功能测试
六.测试的流程
1.需求分析
(阅读需求文档,产品文档,产品详细设计说明书。分析需求的点,参与需求评审)2.测试计划制定和测试方案
测试计划:测试整个项目整体的规划
测试的范围,进度的安排,人力物力的安排,整体的测试策略,风险的评估,风险的规避 5w 1h
why when who what where
测试方案 how
被测试的目标,选取什么样的测试工具,测试的方法,测试的重点3.设计测试用例
边界值,等价类...4.执行测试用例5.测试报告
七.软件开发模式
开发模式:
1.瀑布模型
2.增量模型
3.快速原型
4.其他开发模型
八.测试模型
1.V模型
2.W模型
九.测试与开发的关系
十.测试的分类
两者最大的区别:
1.测试的场所不同
2.一般先做Alpha测试再做beta测试
黑盒测试:只需要关注外部的输入与输出,不需要关注程序内部的逻辑
白盒测试:需要关注内部逻辑具体实现,不需要关注程外部的输入与输出
灰盒测试:需要关注外部的输入与输出,也需要关注内部逻辑具体实现(两者都需要关注)
动态测试:运行被测系统,而进行的测试
静态测试:不需要运行被测系统,而进行的测试(界面检查 文档检查 代码走查 桌面检查)
功能测试:验证软件的业务功能是否符合需求
界面测试:被测系统的界面与原型图是否一致
安全测试:对被测系统的安全进行测试(对账号多次进行输入用户名密码,是否允许输入 sql注入)属于高级测试
兼容性测试:被测系统在不同的测试环境下是否正常使用(淘宝(b/s架构)在不同的浏览器(ie/chrome/firefox)下是否正常使用
易用性测试:被测系统的各个功能是否操作方便,是否容易理解,是否容易上手
性能测试(负载测试、压力测试):某个特定的时间,用户数量剧增,软件是否正常
冒烟测试:在进行正式测试前对主要功能,核心功能进行的测试。冒烟测试一般可能开发或者测试主管来负责。(如果不通过就打回给开发)
回归测试:开发对存在问题的功能进行修改后,再一次进行的测试。(测试人员对bug部分的功能进行再一次的验证测试)
探索性测试:根据自己项目经验而进行的随意测试(测试思维)