一.功能测试
1) 定义:软件测试中最主要的测试类型。根据系统特性、操作描述和用户方案(需求文档),测 试一个系统的特性(业务流程)和可操作行为(功能)以确定他们满足设计需求
2)测试活动:
a:测试计划(测试资源分工、测试计划时间、测试环境数据准备、测试版本和测试功能点明 确、测试方法和类型)、
b:测试用例编写(功能用例、模块流程用例、全系统流程用例)、
c:测试执行(测试用例执行、bug定位和沟通、bug跟踪和管理)、
d:测试质量分析(测试报告:bug趋势、bug分布模块和修改bug人员安排、系统总体质量分 析、提供是否上线评估资料)、
二.性能测试
1)定义:是指验证软件的性能可以满足系统规格给定的指定要求的性能指标。性能测试是一个比 较 大的范围,可以进一步衍生出负载测试、压力测试、稳定性测试
a: 负载测试的目的是:确认系统在正常指标下的最大负载。是在测试过程中逐步的增加负 载,并记录被测系统响应的性能表现,最终确认出系统在正常指标下最大的负载。
b:压力测试,测试出系统所能承受的最大极限。是指系统在极限下的压力情况,系统在 什么样的压力下会导致系统得到失效,无法正常运行。
c:稳定性测试一般是稍大于业务量的一个负载,对系统进行的一个持续的,长时间的测试, 比如24*3,连续3天的施加压力,确定系统在较长运行时间的情况下,系统的稳定性情况
2)不同的系统,拥有不同的性能指标,我们要通过这些性能指标判断当前系统的性能问题,一 切靠数据说话,如何获得这些数据?就是测试了。
内存测试、CPU测试、响应时间测试、唤醒率测试等,都属于性能测试。还有强度测试、容量 测试、基准测试等。
性能测试很重要的一个工作就是性能分析、性能评价,也是用户验收的一个重要指标
3)测试活动
三.兼容性测试
1)定义:包括软件本身的兼容性,平台兼容性、设备兼容性、其他软件兼容性等。
a:软件本身的兼容性,是指对历史版本的数据、功能等进行兼容
b:不同平台下的兼容,软件可能运行在多个平台上,比如LINUX有很多版本,在这些平台 上都需要验证
c:软件对运行设备的兼容性,比如android,有多种手机。
d:软件和一些主流运行是否兼容,比如软件和微信不兼容,那就没人会安装你的软件了。
四.体验测试
五.回归测试
1)回归测试有两类:用例回归和错误回归;
a:用例回归是过一段时间以后再回头对以前使用过的用例在重新进行测试,看看会重新 发现问题。
b:错误回归,就是在新版本中,对以前版本中出现并修复的缺陷进行再次验证,并以缺 陷为核心,对相关修改的部分进行测试的方法。
六.白盒测试
1)定义:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
2)黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
a、是否有不正确或遗漏的功能?
b、在接口上,输入是否能正确的接受?能否输出正确的结果?
c、是否有数据结构错误或外部信息(例如数据文件)访问错误?
d、性能上是否能够满足要求?
e、是否有初始化或终止性错误?
3)白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
a、对程序模块的所有独立的执行路径至少测试一遍。
b、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
c、在循环的边界和运行的界限内执行循环体。
d、测试内部数据结构的有效性,等等。
七:单元测试
1)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
a:内容包括 模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
b:策略包括逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析
2)单元测试策略
a:自顶向下的单元测试策略:从顶层调用的单元做成桩模块; 对第二层测试,使用上面已测试的单元做驱动模块; 依次类推,直到全部单元测试结束。(比孤立单元测试的成本高很多)
b:自底向上的单元测试策略:先对模块调用的最底层模块进行测试,模拟调用该模块的模块为驱动模块; 其次,对上一层模块进行单元测试,用已经被测试过的模块做桩模块,依次类推,直到全部单元测试结束。(比较合理的单元测试策略,但测试周期较长)
c:孤立测试的单元测试策略:无需考虑每个模块与其他模块之间的关系,分别为每个模块单独设计桩模块和驱动模块,逐一完成所有单元模块的测试。(最好的单元测试策略)