基本概念
广义上讲软件测试是对软件需求分析,计划说明和编码进行复审的软件质量包管工作
狭义上讲软件测试是为了发现错误而执行程序的过程。换言之,软件测试是根据软件开发各个阶段的规格说明和程序内部结构经心计划的测试用例,并利用这些测试用例运行程序发现错误的过程。
测试(testing)的目的与使命:
目的:发现程序潜伏的错误
使命:通过执行程序,袒露潜伏的错误
排错(debugging)的目的和使命:
目的:定位于纠正错误
使命:消除软件故障,包管程序稳定运行
测试用例:
为测试程序而专门计划的数据
测试的对象
源程序/目的代码
各个开发阶段的资料
- 需求规格说明
- 概要计划说明
- 具体计划说明
- 别的相关文档
测试的特性
挑剔性:
抱着为证明程序有错误的目的去测试
复杂性:
必要计划测试用例
不彻底性:
有一句名言“程序测试只能证明错误的存在,不能证明错误的不存在”
经济性:
在测试时考虑测试所需的人力本钱
测试的分类
静态测试(不执行程序)
动态测试(执行程序)
黑盒测试:
测试程序功能
白盒测试:
测试程序结构
测试的文档
测试计划
- 测试项目的名称
- 各项测试的目的、进度、步骤
- 测试用例的计划
测试报告
- 测试项目的名称
- 测试结果与预期结果的比力
- 发现的问题
- 测试达到的效果
白盒测试
对软件的过程性细节做过细的检查,允许测试人员根据程序的内部结构和相关信息,计划测试用例,对程序所有路径进行测试。
逻辑覆盖法
用流程图来计划测试用例
5条标准(排序按发现错误的能力由弱到强):
- 语句覆盖:每条语句至少执行一次
- 判定覆盖:每一个判定的分支至少执行一次
- 条件覆盖:每一个判定中的每一个条件按“真”和“假”各至少执行一次
- 判定/条件覆盖:同时满意判定覆盖和条件覆盖的要求
- 条件组合覆盖:求出判定中所有条件可能的组合值,每一种条件组合至少执行一次
基本路径法
根据软件过程中的控制流程导出一组测试用例,确保每个路径都至少被执行一次
流程图——》流图
环路复杂性度量V(G)
流图
把流程图中的结构化构件用一般有向图表现
此中代表条件判定的分支结点成为谓词结点
环路复杂性度量V(G)
等于程序中独立路径的条数
三个计算公式:
- V(G)= 流图中区域的个数
- V(G)=E-N+2,E是流图中的边数,N是流图中的结点数
- V(G)=P+1,P是流图中谓词结点的个数
文章内图片均来自于网络
黑盒测试
把测试对象看作黑盒,不考虑程序内部的逻辑结构和内部特性,只依据程序的规格需求说明,在特定的条件下输入,输入相应的数据,检查程序的输出是否符合它的规格说明。
等价分类法
把输入数据的可能值划分为多少个等价类,大致分为有用等价类和无效等价类。每一个无效等价类至少必要一个测试用例
边界值测试法
使被测程序在边界值及其附近运行,从而更有用地袒露程序中潜伏的错误
错误猜测法
猜测被测程序在哪些地方容易堕落
针对可能的薄弱环节计划测试用例
对比测试法
多模块程序的测试计谋
测试的阶段性
单位(模块)测试
综合(集成)测试
自顶向下的测试
深度优先
宽度优先
能比力块地发现错误
自底向上的测试
能比力全面地测试模块
混合方式测试
对上层利用自顶向下的测试
对底层模块或者子模块使用自底向上的测试
确认测试
α测试:公司内部测试版本
β测试:对外测试版本
体系测试
程序错误的范例
语法错误
结构性错误
功能性错误
接口错误
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |