一、工作流程
需求分析--测试文档的编写(测试计划、测试用例、测试报告等)--接口测试--WEB测试/APP测试--BUG管理
二、测试模型:V型、W型、瀑布型、敏捷型(前两个要会默写)
三、软件测试阶段:单元测试(整个程序模块是否有bug)、集成测试(接口模块是否有问题)、
确认测试(是否满足需求)、系统测试(整个系统是否有问题)、验收测试(用户确认是否符合预期)
四、分类
4.1 按测试阶段分类
1 单元测试
为了验证软件开发各个阶段是否符合要求
2 冒烟测试 '对新构建版本软件进行的最基本测试'
1. 软件构建版本建立后,对系统的基本功能进行简单的测试,这种测试重点验证程序的主要功能,而不会对具体功能进行
深入测试
2. 如果测试未通过,需要返回给开发人员进行修正
3. 如果测试通过再进行其他测试
3 集成测试
1. 冒烟测试之后的测试
2. 将已经测试过的软件单元组合在一起测试它们之间的接口,用于验证是否满足设计需求
4 系统测试
将经过测试的软件在实际环境中运行,并与其他系统的成分(如数据库、硬件和操作人员等)组合在一起进行的测试
5 验收测试
对软件产品的说明进行验证,逐行逐字地按照
4.2 按测试方法分类
1 黑盒测试(只测效果)
把软件(程序)当作一个有输入和输出的黑匣子,只要输入数据能输出预期的结果,不必关心程序内部是怎样实现的
2 白盒测试(透明盒测试,检查程序内部代码)
测试人员了解软件程序的逻辑结构、路径与运行过程,在测试时,按照程序的执行路径得出结果
3 灰盒测试(介于前两个之间)
4.3 按软件质量特性分类
1 功能测试
测试软件的功能是否满足客户的需求(包括准确性、易用性、适合性、互操作性等)
2 性能测试
测试软件的性能是否满足客户的需求(包括负载测试、压力测试、兼容性测试、可移植性测试和健壮性测试等7)
3 安全测试
4.4 按自动化程度分类
1 手动测试
测试人员一条条地执行代码完成测试工作(耗时耗力)
2 自动测试
借助脚本、自动化测试工具等完成相应的测试工作,它也需要人工的参与,但是它可以将要执行的测试代码或
流程写成脚本,执行脚本完成整个测试工作
4.5 按测试类型分类(功能测试、性能测试、界面类测试、安全性测试、文档测试、并发测试等)
1 界面类测试
验证软件界面是否符合客户需求(界面布局是否美观、按钮是否齐全)
2 安全性测试
测试软件在没有授权的内部或外部用户的攻击或恶意破坏时如何进行处理、是否能保证软件与数据的安全
3 文档测试
文档测试以需求分析、软件分析、用户手册、安装手册为主,主要验证文档说明与实际软件之间是否存在差异
4.6 其他分类
1 alpha测试
对软件最初版本进行测试,在上线之前,由开发人员和测试人员或用户协助测试
2 beta测试
对上线之后的软件版本进行测试,此时软件已上线发布,但可能存在轻微Bug,用户在使用时发现错误与问题并进行
记录,然后反馈给开发人员进行修复
3 回归测试
测试发现缺陷给开发,开发修改后给测试,测试确认该缺陷是否尚存
4 随机测试
随机测试没有测试用铝、检查列表、脚本或指令
主要根据测试人员的经验对软件进行功能和性能抽查
随机测试是根据测试用例说明书执行测试用例的重要补充手段,是保证测试覆盖完整性的有效方法和过程
五、常见的测试用例设计方法
等价划分法
边界值法
场景法
因果图法
状态迁移法
错误推测法等:根据项目特征,用户特征 + 经验
六、软件测试在项目各阶段作用
1 需求规划阶段:从单元测试到系统测试的整个阶段的监控
2 需求分析阶段:确定测试需求分析(项目测什么),制定测试计划
3 概要设计和详细设计阶段:单元测试计划和集成测试计划
4 编码阶段:开发相应的测试代码和测试脚本
5 测试阶段:实施测试并提交相应的测试报告
七、测试报告
先对软件进行简单介绍,然后说明这份报告是对该产品的测试过程进行
总结,对测试质量进行评价
7.3 完整的测试报告包括:
1 引言:测试报告编写目的、报告中的专业术语解释和参考资料等
2 测试概要:项目背景、测试时间/地点/人员等
3 测试内容及执行情况:描述本次测试模块的版本、测试类型、使用的
测试用例设计方法及测试通过覆盖率,依据测试的通过情况提供对测试执
行过程的评估结论,并给出测试执行活动的改进建议,以供后续测试执行活动借鉴参考
4 缺陷统计与分析:统计本次测试所发现的缺陷数目、类型等,分析缺陷产生的原
因,给出规避措施等建议,同时还要记录残留缺陷与未解决问题
5 测试结论与建议:从需求符合度、功能正确性、性能指标等多个维度对版本质量
进行总体评价,给出具体明确的结论