软件测试的定义:使用人工或自动的手段来运行或测试某个系统,检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的目的:发现程序中的错误,提高产品可靠性
①澄清系统的规格和性能
②提供预防或减少可能导致错误的信息
③在开发过程中尽早检测出错误
④确认问题和风险,并提前确认解决这些问题和风险的方法
软件的生命周期:计划(Planning) → 需求分析(RequirementAnalysis) → 设计(Design) → 程序编码(Coding) → 测试(Testing) → 运行与维护(Runand Maintenance)。
常见的软件研发基本流程: V模型&瀑布模型
集成测试的策略:自顶向下(深度优先、宽度优先),自底向上
α、β测试:
Alpha测试是指用户在开发环境下的测试,或者是开发内部的用户在模拟实际环境下的测试
Beta测试是指由软件的一个或多个用户在实际使用环境下进行的测试
测试工程师的主要工作:
① 检视代码,评审需求文档、开发文档、测试用例
② 进行测试设计,编写测试文档(包括:测试计划、测试方案、测试用例、测试报告等)
③ 执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最总得到修正
④ 通过各阶段测试,通过测试度量软件的质量
软件测试分类:
① 按照开发阶段:单元测试、集成测试、系统测试、验收测试
② 按照测试实施组织:α测试、β测试、第三方测试
③ 按照测试执行方式:静态测试、动态测试
④ 按照是否查看代码:黑盒测试、白盒测试、灰盒测试
⑤ 按照是否手工执行划分:手工测试、自动化测试
⑥ 按照测试对象划分:性能测试、安全测试、兼容性测试、文档测试、易用性测试(用户体验测试)、业务测试、界面测试
黑盒测试包含的测试内容:功能测试,接口测试,兼容性测试,冒烟测试,逆向思维测试
测试的六条基本法则:一功二用三易四效五维六移 指①功能性 ②可用性 ③易用性 ④时效性 ⑤可维护性 ⑥可移植性
测试用例的八要素:①用例编号 ②测试项目 ③测试标题 ④重要级别 ⑤预置条件 ⑥操作步骤 ⑦测试输入 ⑧预期结果
白盒测试方法:语句覆盖;判断覆盖;条件覆盖;函数覆盖
黑盒测试方法:等价类划分法;边界值分析法;判定表法;因果图法;正交实验法;状态迁移法;流程分析法;异常分析法;错误猜测法;场景法;大纲法
如何有效的记录缺陷:保证这个缺陷能复现出来,并且复现的关键步骤能够清晰的表示出来
编写测试用例的原则:百分之百覆盖需求
书写缺陷报告的准则/规范/标准:简洁、清晰、标准、完整、一致
测试计划:指描述了要进行的测试活动的范围、方法、资源和进度的文档。所包含的内容有:
项目概述(背景、测试范围、测试依据、参考文档);
资源配置(测试环境配置、人员配置、测试工具);
项目主要的开发阶段及里程碑(项目的主要阶段、项目的里程碑、项目的文档管理);
测试策略(测试方法、测试项及要求、测试的中止与恢复条件);
测试进度计划;
风险管控计划
测试方案:指描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。
软件测试的流程:
拿需求文档
需求评审
编写测试计划
计划评审
编写测试用例
用例评审
执行测试用例
冒烟测试(可忽略)
开始第N轮迭代测试
提交每个阶段的测试报告 → 每一轮测试结束都需要编写阶段性的测试报告
验收测试
测试报告
发布上线
判断一个问题是不是BUG的依据: 根据需求文档
移动APP测试点:APP的安装、卸载测试;UI测试;功能测试;稳定性测试;交叉事件测试;兼容性测试;升级、更新测试;用户体验测试;网络环境测试;流量测试;安全性测试等