一、软件测试存在的意义
1、发现程序中的错误而执行程序的过程。
2、检验产品是否符合用户需求。
3、提高用户体验。
二、软件测试原则
1、尽早介入
2、追溯到用户需求(不要闭门造车)。
3、程序员应该避免检查自己的程序,除了单元测试。正面测试+反面测试二八原则,80%的错误集中于20%的模块中(聚集效应)。
4、对错误的结果有一个确认的过程(多做几次测试,记录测试过程,偶现型BUG)。
5、制定严格的测试计划(开始时间、负责的模块…..)。
完全测试不可能,测试需要终止(会存在一些合理的BUG,不影响用户体验和使用的,这些BUG可能要下个版本才会改)。
三、软件测试的分类
1.按测试阶段分:
? 单元测试、集成测试(开发和测试员都可以做,接口测试划分在集成测试里面的)、系统测试(完整的、整体的一个测试,不是安卓、苹果系统)、验收测试(正式验收测试、Alpha测试、Beta测试游戏内测、预发布版本、公测)。
?
注:Alpha测试:前期用户测试,模拟实际操作环境下进行验收测试(内测)属于开发环境,开发和测试不能参与。
Beta测试:后期用户测试,真实环境下进行的(公测),开发和测试也不能参与。
相同点:开发和测试都不能参与。
不同点:前期、后期,开发环境进行和真实环境进行。
2.? 按测试技术划分:
白盒测试(代码级别)、黑盒测试(通过外部操作和表面反应来发现)、灰盒测试。
3.按测试包含的内容划分:
功能测试(点点点)、界面测试(UI界面)、安全测试、兼容性测试、易用性测试(是否容易上手)、性能测试、压力测试、负载测试、恢复测试(灾备,自我修复)。
?
4.其他测试:
冒烟测试(版本发布之前主干测试,在真正测试之前)、回归测试(验证测试修复好的BUG及其相关功能是否正常…..怎样确定回归测试范围)、探索性测试(测试思维)随机测试。
四、软件的生命周期(六个阶段)
1.问题定义及规划阶段
主要确定软件的开发目的及其可行性,制定开发计划。
注:老板、产品经理、研发、项目经理、需求分析师来做。
2.需求分析/评审阶段
3.软件设计阶段(属性:属于开发的工作)
? 概要设计(数据库表等框架性的东西)。
?
详细设计(伪代码级别)。
4.软件编码阶段
开发人员任务、程序员编码。
5.软件测试阶段
测试工程师的任务或开发的任务。
开发做:单元测试。
开发or测试:集成测试—接口测试。
测试人员:系统测试。
客户or产品经理:验收测试—Alpha测试、Beta测试。
6.软件运行维护阶段
版本、产品上线(版本的升级改进)BUG的修复。
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树预备知识Python简介211363 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!