C/S架构:需要安装客户端才能使用的软件
B/S架构:只需一个浏览器就可以访问的服务
1. 软件测试分类
1.1 按测试阶段划分
单元测试:测试代码,保证各单元模块被正确编译
集成测试:多个模块之间的接口是否正确,数据能否正常传递
系统测试:计算机程序结合外设+网络等其他元素进行测试
验收测试:用户拿到软件根据需求和规格说明书进行测试
Alpha测试:客户到开发方对软件进行测试
Beta测试:相当于预览版
1.2 按技术划分
白盒测试:需要关注内部逻辑具体实现,不需关注外部
黑盒测试:不需知道代码,只要输入和输出匹配即可
灰盒测试:两者都需要关注
1.3 被测对象是否需要运行
动态测试、静态测试
1.4 测试手段
手工测试、自动化测试
1.5 被测内容
功能测试、界面测试:被测系统界面和原型图是否一致、安全测试、兼容性测试:不同测试环境下是否正常(淘宝在chrome和ie下是否都能用)、易用性测试:被测系统功能是否操作方便、性能测试:访问量激增时,能否正常使用
1.6 其他测试
冒烟测试:在正式测试前对主要功能核心功能进行测试
回归测试:开发对存在问题的功能进行修改后,再一次进行的测试
探索/自由测试
2. 软件生命周期
2.1 问题的定义及规划
确定软件的开发目的及其可行性,指定项目总体开发计划
2.2 需求分析(SRS)
对软件需要实现的功能进行分析,明确客户需求
2.3 设计
2.3.1 概要设计
架构实现,表述各模块功能,模块接口连接和数据传递
2.3.2 详细设计
各模块深入分析,包含数据库的设计说明
2.4 编码
按照模块功能表,实现功能
2.4 运行维护
3. 敏捷开发模型
将一个大项目分为多个相互联系但也可独立运行的小项目,分别完成,在此过程中软件一直处于可使用状态
4. 测试工作流程
测试计划:测试工作统筹安排(测试内容,任务分配,测试环境,工具,时间安排)
编写测试用例:具体怎么测试的文档
软件在符合什么的条件下可以发布:剩余bug少+用例执行覆盖率
开发环境,测试环境,预发布环境(UAT环境):验收测试进行的环境,生产环境(真实用户使用环境)
5. 测试需求分析
测试需求主要解决“测什么”问题,一般来自需求说明书中原始需求
测试需求应全部覆盖已定义的业务流程,以及功能和非功能的需求
测试需求分析是编写测试用例的依据
功能需求:业务流程
非功能需求:界面,文档,易用性,安全性等
测试点:软件包含多个功能点,每个功能点包含多个子功能(测试点),测试点是软件功能细分的最小单元