文章目录
-
- 1、软件的概念
- 2、软件的分类
- 3、软件测试的概念
- 4、软件测试的原则
- 5、软件测试的流程
-
- (1)分析测试需求(测试人员)
- (2)编写测试计划(负责人)
- (3)编写测试用例(测试人员)
- (4)执行测试(测试人员)
- (5)评估和总结(负责人)
- 6、软件开发模型
- 7、测试模型
- 8、软件测试的级别/阶段
- 9、非功能测试
- 10、专项测试
1、软件的概念
程序、数据、文档
2、软件的分类
-
系统软件、支持软件、应用软件
-
单机软件、C/S、B/S
3、软件测试的概念
-
最终目标:发现缺陷
√ 初期:预防缺陷(静态测试:文档审查)
√ 中期:发现缺陷、修复缺陷(静态测试:文档审查、代码审查、代码走查、静态分析<数据流分析、控制流分析、圈复杂度分析>;动态测试:白盒测试、黑盒测试)
√ 后期:建立信心 -
基于用户需求
4、软件测试的原则
-
追溯到需求
-
尽早测试
-
good-enough(测试不能穷尽、测试有风险)
-
pareto 法则
-
分阶段测试(适合公司内部项目)
-
独立的第三方测试
-
测试必须具有破坏性
-
群集效应
-
杀虫剂怪事(测试线性收敛)
-
缺陷未必需要修复
-
确认测试和回归测试
-
测试迭代
-
测试遵循标准
-
思路决定测试
-
具体问题具体分析
-
无责任心不成测试
-
测试不能猜测
5、软件测试的流程
(1)分析测试需求(测试人员)
-
步骤
√ 收集并研读文档、问问题与解决问题、整理需求信息<场景描述>、功能拆分<大纲法>、编写测试点<场景法、等价类划分、边界值分析、决策表、错误推测等>、需求评审 -
编写测试点的方法
√ 场景法:基本流和备选流(分析需求<流程>、写出基本流和备选流)
√ 等价类划分:分析需求、分出有效类和无效类、根据计算机知识和生活常识细分等价类
√ 边界值分析:分析需求(找出边界)、每个边界取 2 个值(小于最小、最小、最大、大于最大)
√ 决策表:分析需求、写出输入和输出的各种情况、组合输入的各种情况(做出判定表)
√ 错误推测:输入非法数据、输入默认值、输入特殊字符、输入合法数据的非法组合、强制粘贴、检查输出结果、检查多种输出、数据结构溢出、结果溢出、操作数和操作符不符、文件超载、文件权限、介质忙或不可用、介质损坏、破坏文件内容 -
评审
√ 参加人员:项目经理、开发经理、测试经理、测试人员、开发人员、用户
(2)编写测试计划(负责人)
-
内容
√ 规划测试工作、分配资源、安排任务、制定测试标准。。。 -
评审
√ 参加人员:项目经理、开发经理、测试经理、用户
(3)编写测试用例(测试人员)
-
根据测试点编写
-
用例的元素或内容
√ 编
√ 用例概述
√ 预置条件
√ 操作步骤
√ 输入数据
√ 预期结果
√ 设计者 -
评审
√ 参加人员:测试人员
√ 内容:环境搭建的规划、设置用例优先级
(4)执行测试(测试人员)
-
搭建测试环境
√ 安装服务器软件、客户端软件、缺陷管理工具、版本控制工具、自动化测试工具。。。 -
执行测试用例
√ 按照用例执行
√ 随机测试
√ 探索性测试 -
提交缺陷
√ 分离和再现
√ 提交缺陷到工具
nbsp; 缺陷 告的内容
▲ 缺陷概述
▲ 预处理
▲ 复现步骤
▲ 预期结果
▲ 实际结果
▲ 严重程度
▲ 优先级
▲ 注释/截图
▲ 告人
nbsp; 缺陷处理流程:测试人员提交缺陷-负责人分配缺陷-开发人员修复缺陷-测试人员返测-测试负责人关闭缺陷
nbsp; 缺陷的严重程度
▲ 致命缺陷、严重缺陷、普通缺陷、较小缺陷、意见或建议
nbsp; 缺陷的优先级
▲ 立即修复、正常排队等待修复、方便时修复、下一版本修复、不修复
nbsp; 缺陷状态
▲ 新建/已提交、打开/拒绝、已修复、已验证、关闭
(5)评估和总结(负责人)
- 测试人员总结自己的经验教训
6、软件开发模型
-
生命周期模型:大爆炸、边写边改、瀑布模型、螺旋模型、敏捷开发
-
瀑布模型
√ 过程
nbsp; 需求、计划、设计(系统设计、详细设计)、编码、测试、运行、维护
√ 优点
nbsp; 完整的严格的步骤、详尽的文档、每一步审查、引入了测试
√ 缺点
nbsp; 测试太晚了、测试的是代码、缺乏具体的测试过程
7、测试模型
-
V 模型
√ 过程:用户需求、系统设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试
√ 优点
nbsp; 明确提出了测试的 4 阶段/级别、测试和开发阶段有对应关系
√ 缺点
nbsp; 测试太晚了、测试的是代码、测试的过程是线性的 -
W 模型
√ 过程
nbsp; 左边 V:需求分析、概要设计、详细设计、编码实现、模块集成、系统构建、系统安装
nbsp; 右边 V:需求测试、概要设计测试、详细设计测试、单元测试、集成测试、系统测试、验收测试
√ 优点
nbsp; 测试与开发并行、测试早做了、测试包括文档、测试贯穿整个软件生命周期
√ 缺点
nbsp; 测试的过程是线性的 -
H 模型
√ 过程
nbsp; 测试流程:测试准备、测试就绪点、测试执行
nbsp; 并行的其它流程
√ 特点
nbsp; 测试与开发完全独立
nbsp; 测试有独立的流程
nbsp; 测试可以迭代、反复、不同的测试可以并行 -
敏捷测试模型
√ 没有一个过程/流程
√ 要点
nbsp; 结对编程、协同测试、连续测试
nbsp; 编码之前先写出单元测试用例、然后编码、完成编码后进行单元测试
nbsp; 强调客户参与,客户进行验收测试
8、软件测试的级别/阶段
-
单元测试
√ 测试技术
nbsp; 黑盒、白盒
√ 测试重点/发现缺陷
nbsp; 功能、性能、健壮性、运行时缺陷
√ 要求
nbsp; 懂开发才能做
√ 一般一人测一个单元 -
集成测试
√ 测试技术
nbsp; 黑盒、白盒
√ 测试重点/发现缺陷
nbsp; 接口
nbsp; 交互
√ 要求
nbsp; 懂开发才能做
√ 一般多人测试 -
系统测试
√ 测试技术
nbsp; 黑盒、灰盒
√ 测试重点/发现缺陷
nbsp; 整个软件的功能、性能、界面、易用性。。。
√ 忽略缺陷
nbsp; 需求错误理解
nbsp; 隐性需求
√ 一般由测试人员进行 -
验收测试
√ 测试技术
nbsp; 黑盒(白盒等哪个测试阶段继续的验收)
√ 测试重点
nbsp; 能否慢性用户的需求
√ 一般由用户或者委托给测试人员进行
9、非功能测试
-
界面测试
√ 界面美观
√ 主要靠“看”
√ 一般可以与功能测试同时进行,如果不能同时,那就在功能测试之后 -
易用性测试
√ 软件容易使用
√ 主要靠“用”、理解一些意思
√ 一般可以与功能测试同时进行,如果不能同时,那就在功能测试之后 -
兼容性测试
√ 与硬件、平台(操作系统、服务器、分辨率)、其它软件(包括本身软件的不同版本、浏览器)、数据共享
√ 一般在功能测试之后 -
安装测试
√ 包括安装、运行、卸载、加密测试
√ 可以早于、同时或晚于功能测试
√ 本地化和国际化测试
√ 语言翻译(字符)
√ 区域文化(风俗习惯、法律法规、度量衡。。。) -
性能测试
√ 时间
nbsp; 快
√ 空间
nbsp; 少占资源
10、专项测试
-
Web 测试
√ 功能
nbsp; 链接
nbsp; Cookies
nbsp; 设计语言
nbsp; 文件上传
√ 性能
nbsp; 链接速度
nbsp; 负载测试
nbsp; 压力测试
√ 安全性
nbsp; 输入数据的安全性
nbsp; 数据传输、存储要加密
nbsp; 权限安全
√ 界面
nbsp; 语法
nbsp; 排版
nbsp; 风格
√ 易用性
√ 兼容性
nbsp; 浏览器
√ 数据库
nbsp; 表结构
nbsp; 索引
nbsp; 存储过程
√ 文档 -
手机 APP 测试
√ 手机品牌、型
√ 操作系统类型、版本
√ 安装
√ 运行
√ 卸载
√ 安全
√ 兼容性
√ 络信
√ 交叉事件的测试
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!