软件测试基础知识
2016-07-03 22:26
239 查看
一、测试的分类
按是否需要执行被测试软件来分:
静态测试
动态测试
按测试阶段来分:
单元测试:
模块接口、局部数据结构、边界条件、独立的路径和错误处理。
集成测试:
是指每个模块完成单元测试后,需要按照设计时确定的结构图,将他们连接起来,进行集成测试,集成测试也称为综合测试,分为非增量式集成测试、增量式集成测试。
系统测试:
由于软件只是计算机系统中的一个组成部分,软件开发完成之后,最终还要和系统中的硬件系统、某些支持软件、数据信息等其他部分配套运行。因此,在投入运行前要完成系统测试,以保证各组成部分不仅能单独的得到检验,而且在系统各部分协调工作的环境下也能正常工作。
验收测试:
系统开发生命周期方法论的一个阶段,这时相关的用户和/或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。
回归测试:
在集成测试策略的环境中,回归测试是对某些已经进行过的测试的某些子集再重新进行一遍,以保证上述改变不会传播无法预料的副作用或引发新的问题。
alpha测试:
Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。开发者负责记录发现在错误和使用中遇到的问题。总之,Alpha测试是在受控的环境中进行的。
beta测试:
Beta测试由软件的最终用户们在一个或多个客房场所进行。Beta测试是软件在开发者不能控制的环境中的“真实”应用。
以上两项均属于验收测试。
冒烟测试:
冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。
按测试方法来分:
白盒测试:
白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
黑盒测试:
黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。
灰盒测试:
灰盒测试介于白盒测试和黑盒测试之间
二、测试用例的设计方法
1.黑盒测试:
等价类划分:
把所有可能的输入数据(有效的和无效的)划分成若干个等价的子集(称为等价类),使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同. 可从每个子集中选取一组数据来测试程序
边界值分析:
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充
决策分析法:
在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题
使用决策分析法设计测试用例:
(1) 确定规则的个数。
有n个条件的决策表有2n个规则(每个条件取真、假值)。
(2) 列出所有的条件桩和动作桩。
(3) 填入条件项。
(4) 填入动作项,得到初始决策表。
(5) 简化决策表,合并相似规则。
因果图分析法:
因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。
使用因果图法设计测试用例:
(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。
(2)将得到的因果图转换为判定表。
(3)为判定表中每一列所表示的情况设计一个测试用例。
因果图法中用到的五种约束:
E约束(异):a和b中最多有一个可能为1,即a和b不能同时 为1。
I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。
O约束(唯一):a和b必须有一个且仅有一个为1。
R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。
M约束(强制):若结果a为1,则结果b强制为0
错误推断法:
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
常用的错误推测法有:输入非法数据、默认值的测试、更改输出属性的测试、文件类型测试、文件超载测试、介质忙或者介质损坏等测试法。
场景设计
正交实验法
2.白盒测试:
逻辑覆盖:
循环覆盖
基本路径覆盖
按是否需要执行被测试软件来分:
静态测试
动态测试
按测试阶段来分:
单元测试:
模块接口、局部数据结构、边界条件、独立的路径和错误处理。
集成测试:
是指每个模块完成单元测试后,需要按照设计时确定的结构图,将他们连接起来,进行集成测试,集成测试也称为综合测试,分为非增量式集成测试、增量式集成测试。
系统测试:
由于软件只是计算机系统中的一个组成部分,软件开发完成之后,最终还要和系统中的硬件系统、某些支持软件、数据信息等其他部分配套运行。因此,在投入运行前要完成系统测试,以保证各组成部分不仅能单独的得到检验,而且在系统各部分协调工作的环境下也能正常工作。
验收测试:
系统开发生命周期方法论的一个阶段,这时相关的用户和/或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。
回归测试:
在集成测试策略的环境中,回归测试是对某些已经进行过的测试的某些子集再重新进行一遍,以保证上述改变不会传播无法预料的副作用或引发新的问题。
alpha测试:
Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。开发者负责记录发现在错误和使用中遇到的问题。总之,Alpha测试是在受控的环境中进行的。
beta测试:
Beta测试由软件的最终用户们在一个或多个客房场所进行。Beta测试是软件在开发者不能控制的环境中的“真实”应用。
以上两项均属于验收测试。
冒烟测试:
冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。
按测试方法来分:
白盒测试:
白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
黑盒测试:
黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。
灰盒测试:
灰盒测试介于白盒测试和黑盒测试之间
二、测试用例的设计方法
1.黑盒测试:
等价类划分:
把所有可能的输入数据(有效的和无效的)划分成若干个等价的子集(称为等价类),使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同. 可从每个子集中选取一组数据来测试程序
边界值分析:
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充
决策分析法:
在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题
使用决策分析法设计测试用例:
(1) 确定规则的个数。
有n个条件的决策表有2n个规则(每个条件取真、假值)。
(2) 列出所有的条件桩和动作桩。
(3) 填入条件项。
(4) 填入动作项,得到初始决策表。
(5) 简化决策表,合并相似规则。
因果图分析法:
因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。
使用因果图法设计测试用例:
(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。
(2)将得到的因果图转换为判定表。
(3)为判定表中每一列所表示的情况设计一个测试用例。
因果图法中用到的五种约束:
E约束(异):a和b中最多有一个可能为1,即a和b不能同时 为1。
I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。
O约束(唯一):a和b必须有一个且仅有一个为1。
R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。
M约束(强制):若结果a为1,则结果b强制为0
错误推断法:
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
常用的错误推测法有:输入非法数据、默认值的测试、更改输出属性的测试、文件类型测试、文件超载测试、介质忙或者介质损坏等测试法。
场景设计
正交实验法
2.白盒测试:
逻辑覆盖:
循环覆盖
基本路径覆盖
相关文章推荐
- 黑盒测试 白盒测试 原理分析
- 流行的软件测试工具介绍
- 给软件测试人员找工作时的一些建议
- PICT3.3用户指南学习笔记
- 软件测试理论知识学习
- 软件测试中的43个功能测试点总结
- 如何设计数据库
- 用别的眼光去感悟软件测试
- The art of software testing翻译--第二章(4)
- Find 7轻装版和正式版有区别
- 常用的软件测试方法
- 软件测试过程
- 测试者之路
- 软件测试全景图
- 51Testing第二十期软件测试沙龙活动圆满结束
- 51Testing征稿 菜鸟也能煮酒论英雄
- 51Testing第五期电子杂志下载
- 做软件测试三,四年后的感想
- 【51CTO学院“IT充电节”】小强(赵强)老师购课送书活动启动啦~~