软件测试理论简述
1. 测试概念
单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码
集成测试:通过测试发现与模块接口有关的问题
系统测试:是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件
回归测试:回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性
验收测试:这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。验收测试包括Alpha测试和Beta测试。
Alpha测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行。并且在开发者对用户的指导下进行测试,开发者负责记录发现的错误和使用中遇到的问题
Beta测试 :由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场。由用户记录在测试中遇到的一系列问题,并定期报给开发者。
2. 什么是黑盒?什么是白盒?黑盒和白盒的测试方法分别有哪些?
黑盒:黑盒测试也称功能测试或数据驱动测试。把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试
常用的黑盒测试方法:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。
白盒测试:也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试
常用白盒测试方法
静态测试:不用运行程序的测试;
动态测试:需要执行代码,通过运行程序找到问题;
逻辑覆盖包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖
1.语句覆盖每条语句至少执行一次。
2.判定覆盖每个判定的每个分支至少执行一次。
3.条件覆盖每个判定的每个条件应取到各种可能的值。
4.判定/条件覆盖同时满足判定覆盖条件覆盖。
5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
6.路径覆盖使程序中每一条可能的路径至少执行一次。
3. 测试流程:
需求测试->概要设计测试->详细设计测试->单元测试->集成测试->系统测试->验收测试
4. app测试性能指标
内存、cpu、流量、启动速度
5. web测试和app测试不同点
系统架构方面:
web项目,一般都是b/s架构,基于浏览器的
app项目,则是c/s的,必须要有客户端,用户需要安装客户端。
web测试只要更新了服务器端,客户端就会同步会更新。App项目 则需要客户端和服务器都更新。
性能方面:
web页面主要会关注响应时间
而app则还需要关心流量、电量、CPU、GPU、Memory等。
兼容方面:
web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统方面的兼容
app测试则要看分辨率,屏幕尺寸,操作系统、网络。
web测试是基于浏览器的所以不必考虑安装卸载。
而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景:包括安装时的中断、弱网、安装后删除安装文件 。
6. 缺陷按优先级分为哪些类型?
缺陷必须立即解决
缺陷要求正常排队等待修复
缺陷可以在方便时被纠正
下一个版本修复
不修复
7. 测试用例的内容是什么?
用例编号
测试概述或用例标题
测试步骤
预期结果
输入数据
优先级
前置条件等
8. 测试结束的标准是什么?
全部测试用例都被执行完成
未修改bug都被确认或置为应有状态,暂缓修改的问题都有详尽的解析
测试报告编写完成
测试收尾工作结束
测试总结完成
项目处于试运行或上线阶段在测试计划中定义结束的标准:在一定性能下平稳运行多少天、本版本没有严重bug,普通buh数量在多少个以下,bug修复百分之多少以上;实际测试达到上述要求,由项目、开发、测试经理共同签字,认同测试结束,版本即可发布。