软件测试基础知识

软件测试基础知识

一、软件测试的描述:

 测试能提高软件的质量,但是提高质量不能依赖测试;  测试只能证明错误存在,不能证明错误不存在;

 测试的主要困难是不知道该如何进行有效地测试,也不知道什么时候能够放心的结

束测试;

 每个程序员都应当测试自己的程序(份内事),但不能作为程序已通过测试的依据

(所以项目需要独立的测试人员);

 80-20原则:80%的错误聚集在20%的模块中,经常出错的模块改错后还是会经常

出错;

 测试应当循序渐进,不要企图一次性做完。"欲速则不达"。

 一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例  一个成功的测试是指揭示了迄今为至尚未发现的错误的测试

二、软件分类:

1)按功能分:

 系统软件(OS、硬件驱动程序)  应用软件(Office、QQ) 2)按技术架构分:

 单机版软件(Office、画图工具)

 C/S结构软件(客户端Client/服务器端Server,QQ、MSN)

 B/S结构软件(浏览器Browser/服务器Server,WEB项目) 3)按用户分:

 产品软件:目标用户是大众用户(win 8)  项目软件:目标用户是具体用户

软件测试的目的:为了发现错误,不能证明程序正确,设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。

测试人员的主要工作:

1)规划测试任务

2)设计测试(包括编写测试用例等等) 3)建立一个合适的测试环境

4)评估、获取、安装和配置自动测试工具 5)执行测试

6)撰写适当的测试文档

软件测试与软件质量:

QA(Quality Assurance),(关注的是过程);QC(Quality Control),即质量控制(关注的是结果)。

软件能力成熟度模型(CMM)

CMM将软件组织的过程能力成熟度级别分为5个级别:初始级、可重复级、已定义级、已管理级、优化级。

SQA(Software Quality Assurance,软件质量保障) 测试是在发现问题,SQA是在预防问题

ISO/IEC9126国际标准所定义的软件质量包括六个部分,分别为功能性、可靠性、可用性、有效性、可维护性和可移植性。

软件测试有两个基本的功能:验证(Verification)和确认(Validation)。

验证:指保证软件正确地实现了特定功能的一系列活动。(保证产品的正确性) 确认:指保证最终的产品满足系统需求。(保证生产了正确的产品)

对于软件缺陷的精确定义,通常全球软件业界普遍认同下列5条规则

 软件未达到产品说明书中已经标明的功能;

 软件出现了产品说明书中已经指明不会出现的错误;  软件未达到产品说明书中虽未指出但应当达到的目标;  软件功能超出了产品说明书中指明的范围;  测试专业人员认为软件难以理解、不易使用,或者最终用户认为该软件使用

效果不良

软件测试的原则:

1) Zero bug和Good enough 2)不要试图穷举测试

3)开发人员不能既是运动员又是裁判员 4)软件测试要尽早执行 5)软件测试应该追溯需求

6)缺陷的二八定理——缺陷的集群现象或是虫子窝现象 7)缺陷具有免疫性

软件测试对象概念:

 软件测试不等于程序测试

 软件测试贯穿于软件定义和开发的整个过程  软件开发过程中所产生的需求规格说明书、概要设计说明、详细设计规格说

明以及源程序都是软件测试的对象

软件测试分类:

1、按照开发阶段划分:

单元测试→集成测试→系统测试→验收测试 2、按照测试实施组织划分:

开发方测试→第三方测试→用户测试

3、按照测试技术划分:

白盒测试→黑盒测试→灰盒测试

软件测试过程模型: V型和W型

软件开发过程的八个阶段: ① 制定计划→②需求分析定义→③软件设计→④程序编写→⑤软件测试→⑥软件运行→ ⑦ 软件维护→⑧软件停用

搭建软件测试环境还应注意以下几点:

 真实(尽量模拟用户的真实使用环境)

 干净(测试环境中尽量不要安装其它与被测软件无关的软件)

 无毒(测试环境没有中毒,最好安装杀毒软件,以确保系统没有病毒)

 独立(测试环境和开发环境独立)

软件测试工具的使用:

软件测试的具体分类:

 从是否需要执行被测试软件的角度分(是否运行程序):

 静态测试和动态测试。

 从测试是否针对软件结构和算法的角度分类分(是否查看源代码):

 白盒测试和黑盒测试。

 从测试的不同阶段分:

 单元测试、集成测试、系统测试和验收测试四个阶段。

 其他情形划分:

 回归测试、冒烟测试、确认测试、恢复性测试、探究性测试

 功能测试:

 逻辑功能测试、界面功能测试、易用性测试、安装测试、兼容性测试

 性能测试:

 性能测试、稳定性测试、负载测试、压力(强度)测试、安全测试

 其中系统测试有:

 功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、

可靠性测试、安装/反安装测试等等。

静态测试:是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程

 主要形式:审查、评审和走查  静态测试包括三个方面

 代码测试:主要测试代码是否符合相应的标准和规范

 界面测试:主要测试软件的实际界面与需求中的说明是否相符

 文档测试:主要测试用户手册和需求说明是否真正符合用户的实际需求

动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程

 动态测试的两个基本要素: A、被测试程序

B、测试数据(测试用例)

白盒测试(又称结构测试)把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。

 (把盒子盖打开,去研究里面的源代码和程序结构)

 白盒测试主要用于对模块的测试,包括:

 程序模块中的所有独立路径至少执行一次

 对所有逻辑判定的取值(“真”与“假”)都至少测试一次  在上下边界及可操作范围内运行所有循环  测试内部数据结构的有效性等

黑盒测试(又称功能测试)把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。

 (不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果)  黑盒测试可用于各种测试,它试图发现以下类型的错误:

 不正确或遗漏的功能

 接口错误,如输入/输出参数的个数、类型等  数据结构错误或外部信息访问错误  性能错误

 初始化和终止错误

单元测试:又称模块测试,指对软件中的最小可测试单元进行检查和验证

 什么时候进行单元测试

 常在程序员编码之后,代码已经通过编译后进行单元测试,且在前期就应该

做一些准备工作(撰写单元测试计划、编写单元测试用例等)

 由谁来进行单元测试

 一般由白盒测试工程师或开发人员来测试

 单元测试的依据是什么

 源程序本身,包括代码和注释  项目的《详细设计》文档

桩模块(Stub):指模拟被测模块所调用的模块 驱动模块(Driver):指模拟被测模块的上级模块,用来接收测试数据,启动被测模块并输出结果

集成测试:又称联合测试/接口测试,把将通过测试的单元模块组装成系统或子系统,再进行测试,是单元测试的下一个阶段,重点测试不同模块的接口部分(如函数间的参数传递是否正确)

 什么时候进行集成测试

 常是单元和集成同步进行

 在单元测试中先测试几个函数的自身功能,然后再集成测试一下这几个函数

的接口(即参数传递)

 由谁来进行集成测试

 一般由白盒测试工程师或开发人员来测试

 集成测试的依据是什么

 单元测试的模块及《概要设计》文档

系统测试:指的是将整个软件系统看作1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试

 什么时候进行系统测试

 在整个系统集成完成后进行测试

 前期主要测试系统的功能是否满足需求

 后期主要测试系统运行的性能是否满足需求及系统在不同的软硬件环境中

的兼容性等

 测试工作是前松后紧的,前期只需要写计划、用例及部分单元测试(较松),后期

的系统测试工作量很大  由谁来进行系统测试

 黑盒测试工程师

 系统测试的依据是什么

 主要依据是《系统需求规格说明书》文档

 将软件系统作为单一实体,在用户积极参与下以实际数据测试,测试的目的是验证

系统能否达到SRS的要求(Software Requirement Specification软件需求规格说明书-- SRS )

验收测试:

 验收测试又分为α测试和β测试,

 α测试指的是由用户、测试人员、开发人员等共同参与的内部测试  β测试指的是内侧后的公测,即完全交给最终用户测试

功能测试:

界面测试:一般把软件的界面测试用例同软件的逻辑功能测试用例分开写,用一种简化的测试用例形式----检查单(CheckList)

易用性测试:指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方

安装测试:

性能测试:主要有时间性能和空间性能两种

 时间性能:主要指软件的一个具体事务的响应时间(请求响应间隔时间为3

秒)

 时间性能一般要结合测试环境才有意义,且常是多次测试取平均值

 响应时间没有统一标准,跟用户的主观感受有关,如电子商务网站

的普遍接受的响应时间标准为2(非常有吸引力)/5(比较不错)/10(用户忍受上限)

 空间性能:主要指软件运行时所消耗的系统资源(某软件安装要求)

 如某软件在推荐配置下运行时,CPU的利用率为10%,内存占有率

为20%

负载测试:指让被测系统在其能忍受的眼里的极限范围之内连续运行,来测试系统的稳定性

压力测试:指连续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。

回归测试:指对软件的新的版本测试时,重复执行上一个版本测试时的用例

冒烟测试:指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否可以实现,是否具备可测性

随机测试:指测试中所有的输入数据都是都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘的错误

当软件发布后,有成千上万的人像猴子一样对软件乱敲乱点(又叫猴子测试)

Alpha测试:一种先期的用户测试,此时系统刚刚开发完成。

Beta测试:一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。同Alpha测试一样都由用户进行,场地不同,Alpha测试一般是把用户请到开发方的场地来测试,Beta测试是指在一个或多个用户的场所进行测试。

测试用例

测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。

常用的测试用例模板有两种:Excel模板和Word模板

软件测试技术:

黑盒测试:是一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测

试。其基本观点是:任何程序都可以看作是从输入定义域到输出值域的映射,这种观点将被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完全不知道的,只知道软件要做什么。因无法看到盒子中的内容,所以不知道软件是如何实现的,也不关心黑盒里面的结构,只关心软件的输入数据和输出结果。

 黑盒测试(又称功能测试)把测试对象看做一个黑盒子,测试人员完全不考虑程序

内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。

 (不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果)  黑盒测试是依据软件的需求规约,而不考虑程序的内部结构与特性,检查程序的功

能是否符合需求规约的要求。

 黑盒测试可用于各种测试,它试图发现以下类型的错误:

 不正确或遗漏的功能

 接口错误,如输入/输出参数的个数、类型等  数据结构错误或外部信息访问错误  性能错误

 初始化和终止错误

主要的黑盒测试方法有:

 等价类划分  边界值分析  因果图  决策表  场景法  比较测试  错误猜测

等价类划分法

1、等价类划分法:等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个中选取少量具有代表性的数据作为测试用例。

2、等价类划分可有两种不同的情况:有效等价类和无效等价类。

3、常用的等价类划分原则:

 (1)按区间划分  (2)按数值划分

 (3)按数值集合划分或布尔值划分  (4)按限制条件或规则划分  (5)细分等价类

4、等价类划分设计测试用例的步骤:

1)确定等价类:

 先考虑输入数据的数据类型(合法类型和非法类型)  再考虑数据范围(合法类型中的合法区间和非法区间)  画出示意图,区分等价类

2)设计测试用例:

 为每个有效等价类和无效等价类编号。

 从一个等人类中选举一个测试数据构造测试用例

格式:

边界值分析法

边界值分析法:边界值分析法就是对输入的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界

因果图 决策表法

决策表法: 决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格

动作项: 条件项:

步骤:

①列出所有的条件桩和动作桩 ②填入条件项

③填入动作项,得到初始决策表 ④简化决策表,合并相似规则

场景法:

基本流:在场景法中,测试流程是软件功能按照正确的事件流实现的一条正确流程,那么我们把这个称为该软件的基本流

备选流:出现故障或缺陷的过程,就用备选流加以标注

步骤:

①确定基本流和备选流 ②确定场景

③设计测试用例―V表示有效数据元素,I表示无效数据元素,n/a表示不适用

白盒测试:白盒测试也成结构测试或逻辑驱动测试,是针对被测单元内部是如何工作进

行的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。

白盒测试法检查程序内部逻辑结构,对所有逻辑路径进行测试,是一种穷举路径的测试法。但即使每条路径都测试过了,仍然可能存在错误。因为

 穷举路径测试无法检查程序本身是否违反了设计规范,即程序是否是一个错

误的程序。

 穷举路径测试不可能查处程序因为遗漏而出错。

 穷举路径测试发现不了一些和数据有关的错误。

常用的白盒测试方法有:

 边界值测试

 逻辑覆盖测试

 基本路径覆盖测试

 数据流测试

 循环测试

系统测试分类:

验收测试:

软件测试基础知识

一、软件测试的描述:

 测试能提高软件的质量,但是提高质量不能依赖测试;  测试只能证明错误存在,不能证明错误不存在;

 测试的主要困难是不知道该如何进行有效地测试,也不知道什么时候能够放心的结

束测试;

 每个程序员都应当测试自己的程序(份内事),但不能作为程序已通过测试的依据

(所以项目需要独立的测试人员);

 80-20原则:80%的错误聚集在20%的模块中,经常出错的模块改错后还是会经常

出错;

 测试应当循序渐进,不要企图一次性做完。"欲速则不达"。

 一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例  一个成功的测试是指揭示了迄今为至尚未发现的错误的测试

二、软件分类:

1)按功能分:

 系统软件(OS、硬件驱动程序)  应用软件(Office、QQ) 2)按技术架构分:

 单机版软件(Office、画图工具)

 C/S结构软件(客户端Client/服务器端Server,QQ、MSN)

 B/S结构软件(浏览器Browser/服务器Server,WEB项目) 3)按用户分:

 产品软件:目标用户是大众用户(win 8)  项目软件:目标用户是具体用户

软件测试的目的:为了发现错误,不能证明程序正确,设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。

测试人员的主要工作:

1)规划测试任务

2)设计测试(包括编写测试用例等等) 3)建立一个合适的测试环境

4)评估、获取、安装和配置自动测试工具 5)执行测试

6)撰写适当的测试文档

软件测试与软件质量:

QA(Quality Assurance),(关注的是过程);QC(Quality Control),即质量控制(关注的是结果)。

软件能力成熟度模型(CMM)

CMM将软件组织的过程能力成熟度级别分为5个级别:初始级、可重复级、已定义级、已管理级、优化级。

SQA(Software Quality Assurance,软件质量保障) 测试是在发现问题,SQA是在预防问题

ISO/IEC9126国际标准所定义的软件质量包括六个部分,分别为功能性、可靠性、可用性、有效性、可维护性和可移植性。

软件测试有两个基本的功能:验证(Verification)和确认(Validation)。

验证:指保证软件正确地实现了特定功能的一系列活动。(保证产品的正确性) 确认:指保证最终的产品满足系统需求。(保证生产了正确的产品)

对于软件缺陷的精确定义,通常全球软件业界普遍认同下列5条规则

 软件未达到产品说明书中已经标明的功能;

 软件出现了产品说明书中已经指明不会出现的错误;  软件未达到产品说明书中虽未指出但应当达到的目标;  软件功能超出了产品说明书中指明的范围;  测试专业人员认为软件难以理解、不易使用,或者最终用户认为该软件使用

效果不良

软件测试的原则:

1) Zero bug和Good enough 2)不要试图穷举测试

3)开发人员不能既是运动员又是裁判员 4)软件测试要尽早执行 5)软件测试应该追溯需求

6)缺陷的二八定理——缺陷的集群现象或是虫子窝现象 7)缺陷具有免疫性

软件测试对象概念:

 软件测试不等于程序测试

 软件测试贯穿于软件定义和开发的整个过程  软件开发过程中所产生的需求规格说明书、概要设计说明、详细设计规格说

明以及源程序都是软件测试的对象

软件测试分类:

1、按照开发阶段划分:

单元测试→集成测试→系统测试→验收测试 2、按照测试实施组织划分:

开发方测试→第三方测试→用户测试

3、按照测试技术划分:

白盒测试→黑盒测试→灰盒测试

软件测试过程模型: V型和W型

软件开发过程的八个阶段: ① 制定计划→②需求分析定义→③软件设计→④程序编写→⑤软件测试→⑥软件运行→ ⑦ 软件维护→⑧软件停用

搭建软件测试环境还应注意以下几点:

 真实(尽量模拟用户的真实使用环境)

 干净(测试环境中尽量不要安装其它与被测软件无关的软件)

 无毒(测试环境没有中毒,最好安装杀毒软件,以确保系统没有病毒)

 独立(测试环境和开发环境独立)

软件测试工具的使用:

软件测试的具体分类:

 从是否需要执行被测试软件的角度分(是否运行程序):

 静态测试和动态测试。

 从测试是否针对软件结构和算法的角度分类分(是否查看源代码):

 白盒测试和黑盒测试。

 从测试的不同阶段分:

 单元测试、集成测试、系统测试和验收测试四个阶段。

 其他情形划分:

 回归测试、冒烟测试、确认测试、恢复性测试、探究性测试

 功能测试:

 逻辑功能测试、界面功能测试、易用性测试、安装测试、兼容性测试

 性能测试:

 性能测试、稳定性测试、负载测试、压力(强度)测试、安全测试

 其中系统测试有:

 功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、

可靠性测试、安装/反安装测试等等。

静态测试:是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程

 主要形式:审查、评审和走查  静态测试包括三个方面

 代码测试:主要测试代码是否符合相应的标准和规范

 界面测试:主要测试软件的实际界面与需求中的说明是否相符

 文档测试:主要测试用户手册和需求说明是否真正符合用户的实际需求

动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程

 动态测试的两个基本要素: A、被测试程序

B、测试数据(测试用例)

白盒测试(又称结构测试)把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。

 (把盒子盖打开,去研究里面的源代码和程序结构)

 白盒测试主要用于对模块的测试,包括:

 程序模块中的所有独立路径至少执行一次

 对所有逻辑判定的取值(“真”与“假”)都至少测试一次  在上下边界及可操作范围内运行所有循环  测试内部数据结构的有效性等

黑盒测试(又称功能测试)把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。

 (不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果)  黑盒测试可用于各种测试,它试图发现以下类型的错误:

 不正确或遗漏的功能

 接口错误,如输入/输出参数的个数、类型等  数据结构错误或外部信息访问错误  性能错误

 初始化和终止错误

单元测试:又称模块测试,指对软件中的最小可测试单元进行检查和验证

 什么时候进行单元测试

 常在程序员编码之后,代码已经通过编译后进行单元测试,且在前期就应该

做一些准备工作(撰写单元测试计划、编写单元测试用例等)

 由谁来进行单元测试

 一般由白盒测试工程师或开发人员来测试

 单元测试的依据是什么

 源程序本身,包括代码和注释  项目的《详细设计》文档

桩模块(Stub):指模拟被测模块所调用的模块 驱动模块(Driver):指模拟被测模块的上级模块,用来接收测试数据,启动被测模块并输出结果

集成测试:又称联合测试/接口测试,把将通过测试的单元模块组装成系统或子系统,再进行测试,是单元测试的下一个阶段,重点测试不同模块的接口部分(如函数间的参数传递是否正确)

 什么时候进行集成测试

 常是单元和集成同步进行

 在单元测试中先测试几个函数的自身功能,然后再集成测试一下这几个函数

的接口(即参数传递)

 由谁来进行集成测试

 一般由白盒测试工程师或开发人员来测试

 集成测试的依据是什么

 单元测试的模块及《概要设计》文档

系统测试:指的是将整个软件系统看作1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试

 什么时候进行系统测试

 在整个系统集成完成后进行测试

 前期主要测试系统的功能是否满足需求

 后期主要测试系统运行的性能是否满足需求及系统在不同的软硬件环境中

的兼容性等

 测试工作是前松后紧的,前期只需要写计划、用例及部分单元测试(较松),后期

的系统测试工作量很大  由谁来进行系统测试

 黑盒测试工程师

 系统测试的依据是什么

 主要依据是《系统需求规格说明书》文档

 将软件系统作为单一实体,在用户积极参与下以实际数据测试,测试的目的是验证

系统能否达到SRS的要求(Software Requirement Specification软件需求规格说明书-- SRS )

验收测试:

 验收测试又分为α测试和β测试,

 α测试指的是由用户、测试人员、开发人员等共同参与的内部测试  β测试指的是内侧后的公测,即完全交给最终用户测试

功能测试:

界面测试:一般把软件的界面测试用例同软件的逻辑功能测试用例分开写,用一种简化的测试用例形式----检查单(CheckList)

易用性测试:指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方

安装测试:

性能测试:主要有时间性能和空间性能两种

 时间性能:主要指软件的一个具体事务的响应时间(请求响应间隔时间为3

秒)

 时间性能一般要结合测试环境才有意义,且常是多次测试取平均值

 响应时间没有统一标准,跟用户的主观感受有关,如电子商务网站

的普遍接受的响应时间标准为2(非常有吸引力)/5(比较不错)/10(用户忍受上限)

 空间性能:主要指软件运行时所消耗的系统资源(某软件安装要求)

 如某软件在推荐配置下运行时,CPU的利用率为10%,内存占有率

为20%

负载测试:指让被测系统在其能忍受的眼里的极限范围之内连续运行,来测试系统的稳定性

压力测试:指连续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。

回归测试:指对软件的新的版本测试时,重复执行上一个版本测试时的用例

冒烟测试:指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否可以实现,是否具备可测性

随机测试:指测试中所有的输入数据都是都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘的错误

当软件发布后,有成千上万的人像猴子一样对软件乱敲乱点(又叫猴子测试)

Alpha测试:一种先期的用户测试,此时系统刚刚开发完成。

Beta测试:一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。同Alpha测试一样都由用户进行,场地不同,Alpha测试一般是把用户请到开发方的场地来测试,Beta测试是指在一个或多个用户的场所进行测试。

测试用例

测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。

常用的测试用例模板有两种:Excel模板和Word模板

软件测试技术:

黑盒测试:是一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测

试。其基本观点是:任何程序都可以看作是从输入定义域到输出值域的映射,这种观点将被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完全不知道的,只知道软件要做什么。因无法看到盒子中的内容,所以不知道软件是如何实现的,也不关心黑盒里面的结构,只关心软件的输入数据和输出结果。

 黑盒测试(又称功能测试)把测试对象看做一个黑盒子,测试人员完全不考虑程序

内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。

 (不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果)  黑盒测试是依据软件的需求规约,而不考虑程序的内部结构与特性,检查程序的功

能是否符合需求规约的要求。

 黑盒测试可用于各种测试,它试图发现以下类型的错误:

 不正确或遗漏的功能

 接口错误,如输入/输出参数的个数、类型等  数据结构错误或外部信息访问错误  性能错误

 初始化和终止错误

主要的黑盒测试方法有:

 等价类划分  边界值分析  因果图  决策表  场景法  比较测试  错误猜测

等价类划分法

1、等价类划分法:等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个中选取少量具有代表性的数据作为测试用例。

2、等价类划分可有两种不同的情况:有效等价类和无效等价类。

3、常用的等价类划分原则:

 (1)按区间划分  (2)按数值划分

 (3)按数值集合划分或布尔值划分  (4)按限制条件或规则划分  (5)细分等价类

4、等价类划分设计测试用例的步骤:

1)确定等价类:

 先考虑输入数据的数据类型(合法类型和非法类型)  再考虑数据范围(合法类型中的合法区间和非法区间)  画出示意图,区分等价类

2)设计测试用例:

 为每个有效等价类和无效等价类编号。

 从一个等人类中选举一个测试数据构造测试用例

格式:

边界值分析法

边界值分析法:边界值分析法就是对输入的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界

因果图 决策表法

决策表法: 决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格

动作项: 条件项:

步骤:

①列出所有的条件桩和动作桩 ②填入条件项

③填入动作项,得到初始决策表 ④简化决策表,合并相似规则

场景法:

基本流:在场景法中,测试流程是软件功能按照正确的事件流实现的一条正确流程,那么我们把这个称为该软件的基本流

备选流:出现故障或缺陷的过程,就用备选流加以标注

步骤:

①确定基本流和备选流 ②确定场景

③设计测试用例―V表示有效数据元素,I表示无效数据元素,n/a表示不适用

白盒测试:白盒测试也成结构测试或逻辑驱动测试,是针对被测单元内部是如何工作进

行的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。

白盒测试法检查程序内部逻辑结构,对所有逻辑路径进行测试,是一种穷举路径的测试法。但即使每条路径都测试过了,仍然可能存在错误。因为

 穷举路径测试无法检查程序本身是否违反了设计规范,即程序是否是一个错

误的程序。

 穷举路径测试不可能查处程序因为遗漏而出错。

 穷举路径测试发现不了一些和数据有关的错误。

常用的白盒测试方法有:

 边界值测试

 逻辑覆盖测试

 基本路径覆盖测试

 数据流测试

 循环测试

系统测试分类:

验收测试:


相关文章

  • 软件测试机构
  • 1.川软教育: 以就业为导向,独创软件就业实训模式教学,是国内IT业培训高端机构,强调项目,技能,实战.川软教育中心是成都最好的软件测试培训机构,能保障学员毕业后高质量就业.公司与企业完全结合,培训出能胜任软件公司软件测试.自动化测试.白盒 ...查看


  • 计算机软件产品检验员国家职业标准(最终稿)
  • 计算机软件产品检验员国家职业标准 1. 职业概况 1.1 职业名称 计算机软件产品检验员. 1.2 职业定义 具备计算机软硬件知识及软件测试知识,使用计算机软.硬件设备,依据相关标准规范,利用测试工具软件.相关仪器及专用测试装置等,对计算机 ...查看


  • 软件测试基础知识2
  • 软件测试基础知识 发布: 2008-7-23 09:31 | 作者: 网络转载 | 来源: 网络转载 | 查看: 1004次 | 进入软件测试时代论 坛讨论 4. 基于模型的测试 模型实际上就是用语言把一个系统的行为描述出来,定义出它可能的 ...查看


  • 高级检验员培训大纲
  • <计算机软件产品检验员国家职业标准> 培训大纲 相关知识部分--高级检验员分册 信息产业部电子行业职业技能鉴定指导中心 本部分培训大纲是<计算机软件产品检验员国家职业标准>培训大纲的相关知识--高级检验员部分,对应标 ...查看


  • 北大青鸟软件测试基础知识
  • 1.什么是软件的特点: 1> 2> 3> 4> 5> 6> 7> 软件是一种逻辑实体 软件的生产和硬件的生产不同 软件运行和使用没有机械磨损和老化 软件的开发和运行对计算机系统有一定的依赖性 软件是 ...查看


  • 软件测试基础知识2 1
  • 回归测试 回归测试集包括三种不同类型的测试用例:①能够测试软件的所有功能的代表性测试用例:②专门针对可能会被修改影响的软件功能的附加测试:③针对修改过的软件成分的测试. 回归测试流程:①在测试策略制定阶段,制定测试策略:②确定回归测试版本: ...查看


  • atitit.软件测试attilax总结
  • atitit.软件测试attilax总结 1.1. <软件测试基础教程(第2版)> ........................................................................ ...查看


  • 软件工程简介
  • 软件工程简介 软件工程 (Software Engineering ,简称为SE) 是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它是一门工程性学科. 软件工程是为了应对20世纪60年代出现的"软件危机&qu ...查看


  • 语文学习计划表
  • 语文学习计划表 周次 日期 内容 一.朗读课文,试背古诗,抄写一段课文,练习基本笔画. 二.听写字词,讲解,纠正周内错题. 三.单元整合复习一. 四.基础知识达标测试一. 五.能力过关测试一. 六.讲解测试中的错题并纠正. 七.预习下周所学 ...查看


热门内容