1、基础知识
1.1 软件测试分类
按是否覆盖源代码划分
黑盒测试——不看代码逻辑、只关注输入、输出
白盒测试——基于代码逻辑的测试
灰盒测试——代码逻辑、输入、输出
按阶段划分
单元测试--在底层进行的测试称为单元测试(unittesting)或者模块测试(module
testing),是对软件中小可测单元进行检查和验证
测试对象
--功能单元--黑盒测试(测试工程师)
--代码单元--白盒测试(开发工程师测试开发工程师(TDD:测试驱动开发))
集成测试--在单元测试的基础上,将所有程序模块进行有序的、递增的测试
测试对象
--模块接口(参数/返回)--灰盒测试(开发工程师,测试工程师)
系统测试--依据需求说明书将整个软件系统看成一个整体进行测试
测试对象
--系统的功能/性能--黑盒测试(各种测试方法结合)--测试工程师
验收测试--验证软件的实现是否满足用户的需求(用户愿不愿意接收)
测试对象
--需求验证确认--内测(α)/公测(β)/预发布版(γ)--甲方(需求方)/乙方(实现方)
冒烟测试与回归测试
冒烟测试
针对基本的功能进行测试与主要的业务流程(临近发布版本)——新项目与维护项目
一般是在得到开发的提测版本(打包build)之后,首先就要进行冒烟测试
服务器的网络连通
数据库、redis、MQ等系统组件连通性
基本功能(登录等)
核心的业务流程(注册==》登录==》选商品==》购物车==》支付==》订单管理
现在大多会让开发人员先自测(也可以冒烟)--然后在提测--测试人员再冒烟确认一下
回归测试
回归测试是指开发修改了旧代码后,测试重新进行测试以确认开发本次修改没有引入新的错误或导
致其 他代码产生错误。
应用场景 bug回归 旧功能回归
效率低 重复性工作量大 -- 自动回归测试将大幅降低系统测试、维护升级等阶段的成本
1.2 软件开发与测试过程
开发模型——瀑布模型
开发模型:
瀑布模型、快速原型模型、螺旋模型、敏捷开发(重点)
需求分析==》概要设计==》详细设计==》编码==》软件测试==》软件维护
需求分析(重点)
负责人: BA(需求分析师) PM(产品经理) PM(项目经理)
输出:确定的需求说明书 注意:一切软件测试活动的依据
概要设计
负责人:架构师(开发岗)
输出:概要设计说明书、数据库表设计、接口API文档等
详细设计
负责人:开发工程师
输出:详细设计说明
编码
负责人:开发工程师
输出:代码
软件测试(重点)
负责人:测试工程师
输出: 测试计划 测试方案 测试用例 测试执行与缺陷跟踪 缺陷报告 测试报告
软件维护
负责人:运维工程师
输出: 线上故障(BUG)清单 线上客户反馈整理
优点:
线性模型 其他模型的基础
阶段清晰 文档驱动 只需要关注当前阶段 评审通过后向下一个阶段流转
缺点:
测试介入时间晚、bug修复成本高 不响应需求变化
传统行业较多