软件测试(基础理论一)摘

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试(基础理论一)摘相关的知识,希望对你有一定的参考价值。

关于基础理论一二三,都已经重新整理更新到了基础知识总结,跳转门:http://www.cnblogs.com/imyalost/p/6144862.html

 

一、白盒测试

1、什么是白盒测试

定义:按照程序内部结构,逻辑驱动测试程序

目的:检测产品内部动作是否按照设计说明书的规范进行,检验程序的每条路径是否都

能按照预定要求进行工作

对象:源程序

用代码内部的分支,路径,条件,使程序设计的控制结构导出测试用例

 

2、白盒测试方法分类:

1)静态测试

2)动态测试

 

3.白盒测试的原则

1)保证一个模块中所有路径至少被测试一次

2)所有逻辑值都要测试真和假两种情况

3)检查程序内部的数据结构是否有效

4)检查上下边界及可操作范围内运行所有循环

 

4、白盒测试的类别

1)软件共用问题的测试

2)语言测试

3)sql语句测试

4)数据类型测试

5)界面测试

6)数值队形测试

7)业务对象测试

8)数据管理对象测试

 

5、白盒测试依据

1)软件需求报告

2)软件需求规格说明

3)程序设计文档

4)软件界面设计

5)编码规范

6)开发命名标准

 

6、白盒测试流程

1)界面对象测试流程

界面对象(UI)→业务对象(BO)→数据管理对象(DMO)→DBserver端

2)业务对象测试流程

DBserver端→数据管理对象(DMO)→业务对象(BO)→界面对象(UI)

 

7、白盒测试需要考虑的问题

1)尽量先用自动化工具来进行静态结构分析

2)建议先从静态测试开始,比如:静态结构分析,代码走查和静态质量度量,然后进行动态测试,比如:覆盖率测试

3)利用静态分析结果为依据,再使用代码走查和动态测试方式对静态分析结果进行进一步确认,提高效率和准确性

4)覆盖率测试是白盒测试中的重要手段,在测试报告中可作为量化指标的依据,对于重点模块,应使用多种覆盖率标准衡量代码覆盖率

5)不同测试阶段,侧重点不同

 

二、黑盒测试

1、定义:

数据驱动测试或者基于规格说明的测试

只检查程序功能是否按照规格说明书规定正常使用,是否能接收数据及产生正确的输出信息,并且满足数据库或者外部信息的完整性

 

2、黑盒测试的目的

1)是否有不正确或者遗漏的功能

2)界面是否有误

3)接口上,输入输出是否正确

4)是否有数据结构错误或者外部数据库访问错误

5)性能是否满足要求

6)初始化或者终止性错误

 

3、黑盒测试的优点

1)最大程度满足用户需求

2)相同动作可重复执行,枯燥部分可由机器完成

3)根据测试用例针对性的寻找问题,定位更准确,容易生成测试数据

4)测试直接和程序/系统要完成的操作相关联

 

4、黑盒测试的缺点

1)代码得不到测试

2)如果规格设计错误,很难发现

3)测试不能充分进行

4)结果取决于测试用例的设计

 

5、黑盒设计方法

1)等价类划分法

2)边界值分析法

3)因果图法

4)判定表驱动法

5)场景法

6)功能图法

7)错误推断法

8)正交试验设计法

 

5、策略

1)首先进行等价类划分,包括输入和输出条件,减少工作量提高效率

2)边界值分析,发现错误的能力最强

3)错误推断法,补充用例,这个凭经验

4)对照需求和业务场景逻辑,检查用例

5)如果需求说明含有输入条件,设计开始就用到因果图和判定表驱动法

6)参数配置类的软件,要用正交实验法

7)功能图法,不同时期条件的有效性来设计数据

8)业务流清晰的系统,采用场景法

 

6、等价类

1)将所有的可能输入数据(有效和无效)划分为若干个等价类,选取代表性的数据当做 测试用例,保证完整性和代表性

有效等价类:合理的有效的输入集合

无效等价类:无效的没有意义的输入集合,检查程序异常

2)等价类划分方法

按照区间、数值、集合、限制条件、处理方式划分

 

7、边界值

对输入或输出的边界值进行设计

5/7原则

 

8、因果图

简化逻辑关系,操作步骤较复杂

 

9、判定表驱动法

针对不同存在条件、动作关系或者因果关系的设计用例方法

4大组成部分:条件桩:条件项;动作桩,动作项

 

10、场景法

事件触发的情景

 

11、功能图法

用功能图(流程图)形象的表达操作流

 

12、错误推断法

基于以往的经验和出现的错误,推测软件可能存在的缺陷和错误,针对性的设计用例

 

13、正交实验法

从大量数据中挑选适量的有代表性的,合理设计用例

 

14、黑盒测试的原则

1)根据需求和规格要求,明确产品要求的正确性

2)针对性的找问题,正确定位

3)根据需求重要性确定测试等级和重点,减少缺陷

4)接口处,输入是否能正确接收,输出是否正确

5)站在用户角度思考,测试

 

15、测试计划

根据需求中关于功能和性能的要求设计,制定参考范围

 

基础理论(三)

 

关于基础理论一二三,都已经重新整理更新到了基础知识总结,跳转门:http://www.cnblogs.com/imyalost/p/6144862.html

 

一、测试用例设计方法

1、什么是测试用例

 

2、为什么要写测试用例

 

3、测试用例主要包含哪些东西

 

4、编写测试用例需要什么

 

5、设计测试用例的注意事项

从高到低,独立性,与功能一一对应,根据需求设计,由有经验的人员设计

 

6、设计测试用例的原则

有模板,正确性,代表性,可判断性,重现性,详细准确清晰的步骤,符合规范

 

7、用例的管理工具

 

8、用例的管理过程

编写→评审(修改→再次评审)→使用→保存管理→维护/升级

 

9、测试用例内容

目标的描述、环境、输入输出数据/动作、步骤、预期结果、备注等

 

二、单元测试实用技术

一种验证行为,程序中每一项都需要验证

 

1、目的

1)检查单元模块内部错误

2)测试模块内重要的路径

3)检查信息能否正确流入和流出单元

4)内部数据的完整性、数据形式、相互关系的正确性

5)数据在边界处能否正常工作

6)能否满足特点的逻辑覆盖

7)错误处理机制是否有效

 

2、主要任务

程序语法、逻辑检查、模块接口、数据结构、路径、边界条件、错误处理、代码书写规范

 

3、单元测试的自动化工具

 

三、功能测试实用技术

同黑盒测试技术,这里给出几个技术参考链接,都是我之前整理的东西,可以参考

Web端功能测试(一):http://www.cnblogs.com/imyalost/p/5622867.html

Web端功能测试(二):http://www.cnblogs.com/imyalost/p/5623662.html

App端功能测试:http://www.cnblogs.com/imyalost/p/5641057.html

 

四、集成测试实用技术

1、也称为组装测试,联合测试,主要针对软件高层设计进行测试,一般以模块和子系统为单位进行测试

 

2、集成测试的层次

1)模块内集成,主要测试各个接口的交互

2)子系统内集成,子系统内各个模块的交互

3)系统集成,测试系统内各个子系统和模块的交互关系

 

3、集成测试的本质

接口之间的关系,接口测试(灰盒测试)

 

五、系统测试实用技术

1、什么是系统测试

 

2、系统测试的目的

 

3、系统测试的目标

功能是否达到规格说明书要求,是否存在其他缺陷,是否有完善到缺陷记录及跟踪等

 

4、系统测试的测试类型

功能测试、性能测试、负载测试、容量测试、安全性测试、用户界面测试、配置测试、安装测试、回归测试

 

5、测试环境

 

6、常用方法

黑盒测试和自动化测试

 

九、验收测试

1、什么是验收测试

 

2.验收测试的标准

 

十、回归测试

 

1、什么是回归测试

 

2、发生在什么时候

有变更时候

 

3、为什么做回归测试

 验证新功能,保证旧功能不被影响

 

4、回归自动化

 

六、配置测试

 

1、什么是配置测试

测试验证被测软件在不同软件和硬件条件中运行的情况

 

2、为什么要做配置测试

容错性、发现隐藏的bug,对产品的影响,最佳的配置

 

3、注意事项

软件版本、变更、区分优先级

 

 

以上是关于软件测试(基础理论一)摘的主要内容,如果未能解决你的问题,请参考以下文章

摘:《自动化测试技术领航》

网络协议(摘 egon)

吴老:关于测试人生的一站式发展建议--摘

浅谈测试流程(摘)

Android Monkey测试入门(摘)

转摘接口测试怎么测?