一.系统测试分类
1.功能测试:验证当前的软件主体功能是否可用
2.兼容性测试:验证当前软件在不同的环境下是否还可以使用
3.安全测试:验证软件是否只是能授权用户提供功能使用
4.相当于当前软件消耗的资源,它的产出能力
二.常见的系统测试方法
1.按测试对象分类
1.白盒测试:这种测试的主体就是软件底层代码,不在意外界是否成功,只要求底层功能实现,同时逻辑正确。
2.黑盒测试:这种测试就是指测试软件外在主体是否可用
3.灰盒测试:介于两者之间(接口测试)
4.上述的"盒"指的就是被测对象。
2.按测试对象是否执行分类
1.静态测试:测试对象不执行(通常测文档,纯界面静态展示性质的)
2.动态测试:将软件运行在真实的使用环境中测试。
3.按测试手段进行分类
1.手工测试:有测试人员手动的对被测对象进行验证,优点就是可以灵活的改变测试操作即环境。
2.自动化测试:所谓的自动化测试主要有两种形式,一种是自己写测试脚本,另外一种就是通过第三方工具对被测对象进行测试,优点可以高效率的取执行一些仍无法实现的操作。
三.软件质量特性
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.测试结束
将整个测试过程中产生的一些文档进行整理归档,方便后续使用