测试的对象:
1.需求分析阶段:各种规规格说明书
2.软件架构设计:API接口文档(接口测试)
3.编码实现阶段:源代码(白盒测试/单元测试)IT)
4.系统功能使用:软件功能主体(当前行业做的最多的一种测试)
测试级别:
1.单元测试[UT]:软件最小代码结构测试,指类/函数/组建。。。
2.集成测试[IT]:测试单元之间组合后能用是否正常(接口测试)
3.系统测试[ST]:当前行业做的最多的一种测试,充当用户角色,对软件的主体进行测试
1)功能测试:验证功能是否可用
2)兼容性测试:验证当前软件在不同的环境下是否可用(操作系统/浏览器/终端平台…)
3)安全测试:验证软件是否只是授权用户提供功能使用
4)性能测试:相对于当前软件消耗的资源,他的产出能力
4.验证测试:(核心:让顾客买带)
1) 阿尔法测试 --内测(公司人员自检)
2) 贝塔测试 --公测(给别人用,社会人员使用中测试)
3) UAT测试 --客户派出对业务精通的人员来使用测试
常见的系统测试方法
1)按照测试对象进行分类(盒:指的是北侧对象)
a 白盒测试:主体是软件底层代码,逻辑正确
b 黑盒测试:测试软件外在主题功能是否可用
c 灰盒测试:介于两者直接(接口测试,看部分代码,再看外在功能)
2)按照测试对象是否执行
a 静态测试:指测试不执行
b 动态测试:将软件在真实的使用环境中进行测试
3)按照测试手段进行分类
a 手工测试:由测试人员手动地对被测对象进行验证,优点是可以灵活的改变测试操作及环境
b 自动化测试:可以高效率执行人工无法实现的操作
a)自己写测试脚本
b)买第三方的测试工具
软件质量:国际ISO组织制定
1.功能性:软件需要满足用户显式或隐式的功能
2.易用性:软件易于学习和上手使用
3.可靠性:指软件必须实现需求当中指明的具体功能
4.效率性:类似于软件的性能
5.可维护性:要求软件具有将某个功能修复之后继续使用的能力
6.可移植性:当前软件可以从一个平台移植到另一个平台上去使用的能力
助记词: [功能靠用,效率可以]
软件测试流程:
1.需求分析
1)当前阶段的核心目的就是熟悉清楚我们需要设计的点是什么
2)需求的来源:需求规格说明书/API文档/竟品分析/个人经验
2.设计用例:
1)用例就是用户为了测试软件的某个功能而执行的操作过程
2)设计用例是有方法的(等价类/边界值/判定表。。。)
3.评审用例
测试组长对当前的用例进行添加或者删除
4.配置环境
1)环境:指的就是当前被测对象运行所需要的执行环境,作为测试人员需要具备环境配置的能力。[一半是集成环境安装]
2)环境分类:操作系统 + 服务器软件 + 数据库 + 软件底层代码的执行环境
5.执行用例
1)一般在执行用例之前我们会做一个冒烟测试。冒烟指的是快速的测试。冒烟测试是快速的对当前软件的核心功能或者主体执行流程进行验证。如果冒烟测试阶段有问题,则可以直接将此版本回退给开发。
2)如果冒烟测试通过,再进行全面的测试。
6.回归测试及缺陷跟踪
1)回归测试:指的是测试过之后,缺陷返回开发,开发修复之后,再对其进行测试(×回归测试)
2)缺陷跟踪:指的就是当测试人员发现某个缺陷之后,需要一直对其状态进行跟踪。
7.输出测试报告
将当前测试过程中产生的数据进行可视化输出,方便其他人去查看。
8.测试结束
当将整个测试过程中产生的一些文档进行整理归档,方便后续版本使用。