考纲 目录:https://blog.csdn.net/dkbnull/article/details/87933295

软件质量保证与测试技术复习提纲

1.3 

1.5

 

2.1

2.3

2.5

2.6

 

3.3(3.3.1    扩展)

3.4

3.7.3  FSM   状态图 状态表

 

5.1

5.7.1

5.7.2

 

8.1.1

8.1.5

 

9.1

9.6

3.3.1    扩展

某研究所重新对其在大学以上学历的职工安排工作。其方针如下:"如果年龄不满18岁,文化程度是大学,若是男性,则一律要求考研究生。若是女性,则分配到研究所办公室任行政干部;如果年龄满18岁但不足50岁,文化程度是研究生,不分男女性,均任课题组长。文化程度是大学,则不分男女性均担任中层以上各级领导干部;如果年龄满50岁以上,文化程度是研究生,若是男性,则任课题组长。文化程度是大学,若是男性,则任科研人员。若是女性,则任资料员"。

⑴ 判定表的绘制。

① 提取问题中的条件:"性别"、"年龄"和"文化程度"三个条件。

② 标出每个条件的取值(为了便于绘制判定表,用符号来代替条件的取值): 见下表一:

⑥ 检查判定表的完善性:如果任意绘制的判定表很可能是不完善的,也可能存在以下问题:

Ⅰ 遗失判定列:即判定表中缺少判定条件组合列。在表二中就缺少了两个判定列。所谓判定列是指判定表右部的各列(包括上下两部分构成的列)。

完善的判定表要满足以下条件:

A.判定列计数之和必须等于诸条件取值数之积。

也就是在判定表中右下部分选定的动作列中目标动作的数量应等于所有条件的组合数。 B.每个判定列必须是独立的,即任何两个判定列的诸条件中至少有一个条件的取值是不同。

假设某程序有三个输入变量year 、month、day(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1981≤year≤2050),分别作为输入日期的年份、月份、日,通过程序可以输出该输入日期在日历上隔一天的日期。试用判定表法设计该程序正确输入条件下的测试用例

  设计:

  一、确定规则,建立条件桩和动作桩

M1={月份:每月有30天}

M2={月份:每月有31天, 12月除外}

M3={月份:12月}

M4={月份:2月}

D1={日期:1<=日期<=26}

D2={日期:27}

D3={日期:28}

D4={日期:29}

D5={日期:30}

D6={日期:31}

Y1 ={年:年是闰年}

Y2 ={年:年不是闰年}

二、判定表

三、测试用例:

用例ID

用例标题

前置条件

输入

输出

1

Day+2(30)

1.月输入1

2.日输入26

3.年输入2010

2010.1.28

2

Day=1&month+1(30)

1.月输入3

2.日输入29

3.年输入2010

2010.4.1

3

Day=2&month+1(30)

1.月输入5

2.日输入30

3.年输入2010

2010.6.2

4

Day+2(31)

1.月输入4

2.日输入25

3.年输入2010

2010.4.27

5

Day=1&month+1(31)

1.月输入11

2.日输入30

3.年输入2010

2010.12.1

6

Day=2&month+1(31)

1.月输入11

2.日输入31

3.年输入2010

2010.12.2

7

Day+2(12月)

1.月输入12

2.日输入23

3.年输入2010

2010.12.25

8

Day=1&month+1&year+1(12月)

1.月输入12

2.日输入30

3.年输入2010

2011.1.1

9

Day=2&month+1&year+1(12月)

1.月输入12

2.日输入31

3.年输入2010

2010.1.2

10

Day+2(2月)

1.月输入2

2.日输入19

3.年输入2010

2010.2.21

11

Day+2(闰年2月)

1.月输入2

2.日输入27

3.年输入2000

2000.2.29

12

Day=1&month+1(闰年2月)

1.月输入2

2.日输入28

3.年输入2000

2000.3.1

13

Day=2&month+1(闰年2月)

1.月输入2

2.日输入29

3.年输入2000

2000.3.2

14

Day=2&month+1(平年2月)

1.月输入2

2.日输入27

3.年输入2001

2001.3.2

15

Day=1&month+1(平年2月)

1.月输入2

2.日输入26

3.年输入2001

2001.3.1

3.假设某程序有三个输入变量year、month、day(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1981≤year≤2050),分别作为输入日期的年份、月份、日,通过程序可以输出该输入日期在日历中下一天(明天)的日期。试用判定表法设计该程序正确输入条件下的测试用例。

第一章      引论

1.3 什么是软件测试

(正向思维)

□软件测试就是为程序能够按预期设想那样运行而建立足够的信心。

□软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果”

□测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作。

(反向思维)

□测试是为了证明程序有错,而不是证明程序无错误

□一个好的测试用例是在于它能发现至今未发现的错误

□一个成功的测试是发现了至今未发现的错误的测试

软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体

◎“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性

◎“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。

1.5测试和质量保证的关系

软件质量保证(Software Quality Assurance,SQA)是软件工程领域中的一部分,为了确保软件开发过程和结果符合预期的要求,而建立的一系列规程和计划,以及依照规程和计划采取的一系列活动及其结果评价

·软件开发过程是按照计划和规范实施的

·软件开发结果包括完整的软件和文档,并且符合可预期的目标和检验标准

SQA与软件测试之间相辅相成,既存有包含又存有交叉的关系。SQA指导、监督软件测试的计划和执行,督促测试工作的结果客观、准确和有效,并协助测试流程的改进。而软件测试是SQA重要手段之一,为SQA提供所需的数据,作为质量评价的客观依据。

他们的相同点在于二者都是贯穿整个软件开发生命周期的流程。他们的不同之处在于,SQA是一项管理工作,侧重于对流程的评审和监控,而测试是一项技术性的工作,侧重于对产品进行评估和验证。

2.1软件缺陷

2.1.1 软件质量的内涵

IEEE: 质量是系统、部件或过程满足 

1、明确需求

2、客户或用户需要或期望的不同程度

软件质量:软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和(ISO 8492) 

软件质量:软件产品满足使用要求的程度

2.1.2 软件缺陷的定义

软件缺陷一个标准的定义:

◎从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;

◎从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。

2.1.3 软件缺陷的产生

技术问题

算法错误,语法错误,计算和精度问题,接口参数传递不匹配

团队工作

沟通不充分,误解

软件本身

◎文档错误、用户使用场合(user scenario),

◎时间上不协调、或不一致性所带来的问题

◎系统的自我恢复或数据的异地备份、灾难性恢复等问题

2.1.4 软件缺陷的构成

2.1.5 修复软件缺陷的代价

平均而言,如果在需求阶段修正一个错误的代价是1,那么,在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的20~40倍,在外部测试阶段是它的30~70倍,到了产品发布出去时,这个数字就是40~100倍,修正错误的代价不是随时间线性增长,而几乎是呈指数增长的。

2.3 静态测试和动态测试

p将需求和设计的评审纳入测试的范畴,可看作是广义测试

p静态测试包括对软件产品的需求和设计规格说明书的评审、对程序代码的复审等

p静态分析的查错和分析功能是其他方法所不能替代的,可以采用人工检测和计算机辅助静态分析手段进行检测,但越来越多地采用工具进行自动化分析

p动态测试是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统信息,对系统行为进行验证。

2.3.1产品评审

p评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。检验工作产品是否正确地满足了以往工作产品中建立的规范。

p通过软件评审,可以更早地发现需求工程、软件设计等各个方面的问题,大大减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。

评审的形式/方法:互为评审、轮查、走查、会议评审。

评审分类:管理评审、技术评审、文档评审、流程评审

2.3.2静态分析

p人工检测:人工检测偏重于编码风格、质量的检验,对设计、代码进行分析,有效地发现逻辑设计和编码错误。

p计算机辅助静态分析:利用静态分析工具对被测程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。

2.3.3验证和确认

Verification:Are we building the product right?

p是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的内容。验证产品满足规格设计说明书的一致性

Validation: Are we buildingthe right product?

p是否构造了正是用户所需要的软件?即是否正在做正确的事。验证产品所实现的功能是否满足用户的需求

2.5 黑盒测试方法和白盒测试

2.6 软件测试级别

1.单元测试:

p 单元测试针对程序系统中的最小单元---模块或组件进行测试,一般和编码同步进行。主要采用白盒测试方法,从程序的内部结构出发设计测试用例,检查程序模块或组件的已实现的功能与定义的功能是否一致、以及编码中是否存在错误。通常要编写驱动模块和桩模块

p 单元测试一般由编程人员和测试人员共同完成,而以开发人员为主

p 单元测试包括代码评审,代码评审可以发现程序50%~70%代码的缺陷。

2.集成测试:

集成测试,也称组装测试、联合测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的模块之间问题。两种集成方式:一次性集成方式和增殖式集成方式

3.系统测试

功能测试一般须在完成集成测试后进行,而且是针对应用系统进行测试。功能测试是基于产品功能说明书,是在已知产品所应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用。

系统非功能性测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括:恢复测试、安全测试、强度测试、性能测试……

4.验收测试:

p 验收测试的目的是向未来的用户表明系统能够像预定要求那样工作,验证软件的功能和性能如同用户所合理期待的那样

p 安装测试是指按照软件产品安装手册或相应的文档,在一个和用户使用该产品完全一样的环境中或相当于用户使用环境中,进行一步一步的安装操作性的测试

3.3  3.3.1 判定表方法

扩展

某研究所重新对其在大学以上学历的职工安排工作。其方针如下:"如果年龄不满18岁,文化程度是大学,若是男性,则一律要求考研究生。若是女性,则分配到研究所办公室任行政干部;如果年龄满18岁但不足50岁,文化程度是研究生,不分男女性,均任课题组长。文化程度是大学,则不分男女性均担任中层以上各级领导干部;如果年龄满50岁以上,文化程度是研究生,若是男性,则任课题组长。文化程度是大学,若是男性,则任科研人员。若是女性,则任资料员"。

⑴  判定表的绘制。

①提取问题中的条件:"性别"、"年龄"和"文化程度"三个条件。

② 标出每个条件的取值(为了便于绘制判定表,用符号来代替条件的取值): 见下表一:

⑥ 检查判定表的完善性:如果任意绘制的判定表很可能是不完善的,也可能存在以下问题:

Ⅰ 遗失判定列:即判定表中缺少判定条件组合列。在表二中就缺少了两个判定列。所谓判定列是指判定表右部的各列(包括上下两部分构成的列)。

完善的判定表要满足以下条件:

A.判定列计数之和必须等于诸条件取值数之积。

也就是在判定表中右下部分选定的动作列中目标动作的数量应等于所有条件的组合数。

B.每个判定列必须是独立的,即任何两个判定列的诸条件中至少有一个条件的取值是不同。

假设某程序有三个输入变量year 、month、day(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1981≤year≤2050),分别作为输入日期的年份、月份、日,通过程序可以输出该输入日期在日历上隔一天的日期。试用判定表法设计该程序正确输入条件下的测试用例

  设计:

  一、确定规则,建立条件桩和动作桩

M1={月份:每月有30天}M2={月份:每月有31天, 12月除外}

M3={月份:12月}M4={月份:2月}D1={日期:1<=日期<=26}

D2={日期:27}D3={日期:28}D4={日期:29}D5={日期:30}

D6={日期:31}Y1 ={年:年是闰年}Y2 ={年:年不是闰年}

二、判定表

三、测试用例:

用例ID

用例标题

前置条件

输入

输出

1

Day+2(30)

1.月输入1

2.日输入26

3.年输入2010

2010.1.28

2

Day=1&month+1(30)

1.月输入3

2.日输入29

3.年输入2010

2010.4.1

3

Day=2&month+1(30)

1.月输入5

2.日输入30

3.年输入2010

2010.6.2

4

Day+2(31)

1.月输入4

2.日输入25

3.年输入2010

2010.4.27

5

Day=1&month+1(31)

1.月输入11

2.日输入30

3.年输入2010

2010.12.1

6

Day=2&month+1(31)

1.月输入11

2.日输入31

3.年输入2010

2010.12.2

7

Day+2(12月)

1.月输入12

2.日输入23

3.年输入2010

2010.12.25

8

Day=1&month+1&year+1(12月)

1.月输入12

2.日输入30

3.年输入2010

2011.1.1

9

Day=2&month+1&year+1(12月)

1.月输入12

2.日输入31

3.年输入2010

2010.1.2

10

Day+2(2月)

1.月输入2

2.日输入19

3.年输入2010

2010.2.21

11

Day+2(闰年2月)

1.月输入2

2.日输入27

3.年输入2000

2000.2.29

12

Day=1&month+1(闰年2月)

1.月输入2

2.日输入28

3.年输入2000

2000.3.1

13

Day=2&month+1(闰年2月)

1.月输入2

2.日输入29

3.年输入2000

2000.3.2

14

Day=2&month+1(平年2月)

1.月输入2

2.日输入27

3.年输入2001

2001.3.2

15

Day=1&month+1(平年2月)

1.月输入2

2.日输入26

3.年输入2001

2001.3.1

3.假设某程序有三个输入变量year 、month、day(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1981≤year≤2050),分别作为输入日期的年份、月份、日,通过程序可以输出该输入日期在日历中下一天(明天)的日期。试用判定表法设计该程序正确输入条件下的测试用例

3.4 基于逻辑覆盖的方法(必考,例子见书P49)

3.4.1判定覆盖

设计若干用例,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足

3.4.2条件覆盖

设计若干测试用例,执行被测程序后,每个判断中每个条件的可能取值至少满足一次.

3.4.3判定条件覆盖

判断条件中所有条件的取值至少执行一次,同时所有判断的可能结果至少执行一次

3.4.4条件组合覆盖

判断中每个条件所有的组合可能至少出现一次,并且每个判断本身的判定结果也至少出现一次

显然满足条件组合覆盖的测试用例是一定满足判定覆盖、条件覆盖和条件判定组合覆盖的。

3.4.5基本路径覆盖

设计所有的测试用例,来覆盖程序中所有可能的、独立的执行路径。

5.1单元测试的目标和任务
定义

单元测试是对软件基本的组成单元进行独立的测试

时机

单元测试一般由开发人员完成,QA人员辅助.

概念

模块、组件、单元

测试人员:程序人员和开发人员

测试方法

检查每一条独立执行路径的测试。保证每条语句被至少执行一次;

检查局部数据结构完整性

检查模块接口是否正确

检查临界数据处理的正确性

预见、预设的各种出错处理是否正确有效

测试依据:详细设计和概要设计

为何进行单元测试

尽早发现错误,错误发现越早,成本越低,发现问题比较容易,修正问题更容易

检查代码是否符合设计和规范,有利于将来代码的维护

目标: 单元模块被正确编码

◎信息能否正确地流入和流出单元

◎在单元工作过程中,其内部数据能否保持其完整性,

包括内部数据的形式、内容及相互关系不发生错误,全局变量在单元中的处理和影响

◎为限制数据加工而设置的边界处,能否正确工作

◎单元的运行能否做到满足特定的逻辑覆盖

◎单元中发生了错误,其中的出错处理措施是否有效

背景:

p编程过程中,每写1000行代码会犯几十个错误

p编程与编译运行结束后,每1000行代码中大约残留有2-6个Bug

p寻找与修改程序错误的代价占总体开发投资的30% -60%

pBug在整个研发流程中被发现的越早,修改的代价就越低

5.7.1集成测试的模式

集成测试的集成模式和经典代表

非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。

渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合进来进行测试,测试完后再把下一个应该测试的模块结合起来测试。渐增式测试又可以根据每次添加模块的路线分为自顶向下测试、自底向上测试和混合测试等方式。

5.7.2自顶向下和自底向上集成方法

这个直接看书P132

8.1.1软件本地化与国际化P197

8.1.5软件本地化测试P200

9.1测试自动化的内涵

自动化测试(automated test)是相对手工测试而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替。

测试工具的使用是自动化测试的主要特征

测试自动化指“一切可以由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行”

9.6测试自动化的框架

自动化测试(TestAutomation,TA)框架,不仅能够很好地支持脚本的开发、调试和运行,还要能够灵活地集成相应的测试工具,管理测试机器、测试任务和测试报告等。TA框架由下列部分组成:

(1)  Harness/IDE:TA框架的核心,相当于“夹具”,其他TA框架的组成部分都能作为插件与之集成,而且承担脚本的创建、编辑、调试和管理等。

(2)  TA脚本的管理,包括公共脚本库、项目归类的脚本库。

(3)  代理(Agents)负责Harness与工具的通信,控制测试工具的运行。

(4)  测试工具(Tools)

(5)  任务安排(Scheduler):安排和提交定时任务、事件触发任务等,以便实现无人值守的自动化测试执行。

(6)  报告(Report)呈现,任何人都能以Web方式及时查到测试结果。

试题与答案

一、 判断题

1. 测试是调试的一个部分 ( ╳ )

2. 软件测试的目的是尽可能多的找出软件的缺陷。( √ )

3. 程序中隐藏错误的概率与其已发现的错误数成正比( √ )

4. Beta 测试是验收测试的一种。 ( √ )

5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。( √ )

6. 项目立项前测试人员不需要提交任何工件。( ╳ )

7. 单元测试能发现约80%的软件缺陷。( √ )

8. 测试的目的是发现软件中的错误。( √ )

9. 代码评审是检查源代码是否达到模块设计的要求。( √ )

10. 自底向上集成需要测试员编写驱动程序。( √ )

11. 测试是证明软件正确的方法。( ╳ )

12. 负载测试是验证要检验的系统的能力最高能达到什么程度。( √ )

13. 测试中应该对有效和无效、期望和不期望的输入都要测试。( √ ) 验收测试是由最终用户来实施的。( √ )

14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。( √ )黑盒测试也称为结构测试。( ╳ )集成测试计划在需求分析阶段末提交。( ╳ )

15. 软件测试的目的是尽可能多的找出软件的缺陷。(√ )

16. 自底向上集成需要测试员编写驱动程序。(√ )

17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳)

18. 测试程序仅仅按预期方式运行就行了。(╳)

19. 不存在质量很高但可靠性很差的产品。(╳)

20. 软件测试员可以对产品说明书进行白盒测试。(╳)

21. 静态白盒测试可以找出遗漏之处和问题。(√)

22. 总是首先设计白盒测试用例。(╳ )

23. 可以发布具有配置缺陷的软件产品。(√)

24. 所有软件必须进行某种程度的兼容性测试。(√ )

25. 所有软件都有一个用户界面,因此必须测试易用性。(╳)

26. 测试组负责软件质量。(╳ )

27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√)

28. 好的测试员不懈追求完美。(╳ )

29. 测试程序仅仅按预期方式运行就行了。(√ )

30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √ )

31. 静态白盒测试可以找出遗漏之处和问题。( √ )

32. 测试错误提示信息不属于文档测试范围。(╳ )

33. 代码评审是检查源代码是否达到模块设计的要求。(√ )

34. 总是首先设计黑盒测试用例。( √ )

35. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(√ )

36. 软件质量保证和软件测试是同一层次的概念。(╳ )

37. 程序员兼任测试员可以提高工作效率。( ╳ )

38. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。( √ )

39. 传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。( √ )

40. 传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。√

41. 软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(√ )

42. 软件生存周期是从软件开始开发到开发结束的整个时期。 (╳ )

43. 测试用例的数目越多,测试的效果越好。( ╳ )

44. 只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( ╳ )

45. 单元测试属于动态测试。( √ )

46. 验收测试是以最终用户为主的测试。(√ )

47. 没有发现错误的测试是没有价值的。( √ )

48. 可以把不合格的开发人员安排做测试。( ╳ )

二、 不定项选择题

1. 软件验收测试的合格通过准则是:( abcd )

A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

B. 所有测试项没有残余一级、二级和三级错误。

C. 立项审批表、需求分析文档、设计文档和编码实现一致。

D. 验收测试工件齐全。

2. 软件测试计划评审会需要哪些人员参加?( abcd )

A. 项目经理 B. SQA 负责人 C. 配置负责人 D. 测试组

3. 测试设计员的职责有:( bc )

A. 制定测试计划 B. 设计测试用例 C. 设计测试过程、脚本 D. 评估测试活动

4. 下面哪些属于动态分析( c d )

A. 代码覆盖率 B. 模块功能检查 C. 系统压力测试 D. 程序数据流分析

5. 下面哪些属于静态分析( abc )

A、 代码规则检查 B、 程序结构分析 C、 程序复杂度分析 D、 内存泄漏

6. 不属于单元测试内容的是 ( d )

A. (A)模块接口测试 (B)局部数据结构测试 B. (C) 路径测试 (D)用户界面测试

7. 软件测试设计活动主要有( abcd )

A、 工作量分析 B、 确定并说明测试用例 C、 确立并结构化测试过程 D、 复审并评估测试覆盖

8. 不属于集成测试步骤的是( d )

A、 制定集成计划 B、 执行集成测试 C、 记录集成测试结果 D、 回归测试

9. 实施缺陷跟踪的目的是:( ABCD )

A、软件质量无法控制 B、问题无法量化 C、重复问题接连产生 D、解决问题的知识无法保留

E、确保缺陷得到解决 F、使问题形成完整的闭环处理

10. 使用软件测试工具的目的:( ABCDF )

A、帮助测试寻找问题 B、协助问题的诊断 C、节省测试时间 D、提高Bug的发现率

E、更好的控制缺陷提高软件质量 F、更好的协助开发人员

11. 编写测试计划的目的是:( ABC )

A、使测试工作顺利进行 B、使项目参与人员沟通更舒畅

C、使测试工作更加系统化 D、软件工程以及软件过程的需要

E、软件过程规范化的要求 F、控制软件质量

12. 选出属于黑盒测试方法的选项( B )

A、测试用例覆盖 B、输入覆盖 C、输出覆盖 D、分支覆盖 E、语句覆盖 F、条件覆盖

13. 导致软件缺陷的原因有很多,A—D是可能的原因,其中最主要的原因包括( ABCD )。

A.软件需求说明书编写的不全面,不完整,不准确,而且经常更改  B.软件设计说明书

C.软件操作人员的水平 D.开发人员不能很好的理解需求说明书和沟通不足

14. 软件验收测试的合格通过准则是:( AD )

A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

B. 所有测试项没有残余一级、二级和三级错误。

C. 立项审批表、需求分析文档、设计文档和编码实现一致。

D. 验收测试工件齐全。

15. 下面的哪一项测试步骤中需要进行局部数据结构测试: ( A )

A、单元测试 B、集成测试 C、确认测试 D、系统测试

16. 从是否需要执行被测软件的角度,软件测试技术可划分的类型是:(AC )。

A、 静态测试 B、 黑盒测试 C、 动态测试 D、 白盒测试

17. 从测试阶段角度,测试结束的正确顺序是:( B )

A、 单元测试、集成测试、系统测试、确认测试 B、 单元测试、系统测试、集成测试、确认测试

C、 确认测试、集成测试、系统测试、单元测试 D、 确认测试、系统测试、集成测试、单元测试

18. 软件的六大质量特性包括: ( A )

A. 功能性、可靠性、可用性、效率、可维护、可移植

B. 功能性、可靠性、可用性、效率、稳定性、可移植

C. 功能性、可靠性、可扩展性、效率、稳定性、可移植

D. 功能性、可靠性、兼容性、效率、稳定性、可移植

19. 以下测试方法是白盒测试方法的是 __CD____

A. 判定覆盖和边界值分析法 B. 等价划分和错误推测法 C. 路径覆盖和判定/条件覆盖法

D. 条件组合覆盖和语句覆盖法 E. 条件覆盖和错误推测法

20. 以下属于黑盒测试方法的有__ABCDE____

A. 等价类划分 B. 边界值分析 C. 错误推测 D. 因果图 E. 决策表

21. 下列哪些属于软件测试阶段的交付成果物 ABC

A. 测试计划 B. 测试用例 C. 测试报告D. 用户手册 E. 安装部署手册

22. 以下哪些过程能够提高软件质量? BD

A. 可行性分析 C. 测试 E. 概要设计 B. 需求评审 D. 代码走查

三、 填空题

1. 软件测试主要分为___单元测试__集成测试__、___系统测试___、___验收测试___四类测试。

2. 软件缺陷产生的原因包括__编写代码___、设计、_编写需求__以及其他原因。

3. 对面向过程的系统采用的集成策略有 自顶向下集成自底向上集成 两种。

4. 黑盒测试用例设计方法包括 等价类划分边界值分析 以及因果图 ,错误推测法等。

5. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为___黑盒测试__。

6. 软件测试的目的是尽可能多地发现软件中存在的 错误 ,将测试 测试结果作为纠错的依据。

7. 软件测试方法一般分为两大类: 动态测试 方法和 静态测试 方法。

8. 动态测试通过 运行程序 发现错误。根据 测试用例 的设计方法不同,动态测试又分为黑盒测试 与 白盒测试 两类。

9. 黑盒法只在软件的 接口 处进行测试,依据 需求规格 说明书,检查程序是否满足功能 要求。

10. 白盒法必须考虑程序的 内部结构处理过程 ,以检查处理过程 的细节为基础,对程序中尽可能多的逻辑路径进行 测试

11. 逻辑覆盖是对程序内部有 判定 存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖6种覆盖技术。

12. 等价类划分从程序的 功能 说明,找出一个输入条件(通常是 一句话一个短语 ),然后将每个输入条件划分成两个或多个 等价类

13. 边界值分析是将测试 边界 情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。如果输入或输出域是一个有序集合,则应选取集合的第一个 元素和 最后一个 元素作为测试用例。

14. 测试的综合策略是在测试中,联合使用各种 测试 方法。通常先用 黑盒法设计基本的测试用例,再用 白盒 法补充一些必要的测试用例。

15. 软件测试过程中需要3类信息:软件配置测试配置测试工具

16. 软件测试一般经过4个测试:单元测试集成测试 系统测试 验证测试

17. 单元测试 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及编码详细设计 的文档。

18. 集成测试指在 单元 测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称组装 测试或 联合 测试。

19. 成测试的方法有两种: 非渐增式测试 渐增式测试

20. 渐增式测试有两种不同的组装模块的方法: 自顶向下结合 自底向上结合

21. 验证测试在模拟环境下运用 黑盒 测试方法,由专门测试人员用户 参加的测试。

22. 软件配置审查的任务是检查软件的所有文档资料的 完整性正确性

23. 用等价类划分法设计一个测试用例时,使其覆盖 尽可能多的 尚未被覆盖的合理等价类。

24. 用等价类划分法设计一个测试用例时,使其覆盖 一个 不合理等价类。

25. 软件测试是为了 发现错误 而执行程序的过程。

26. 运行被测程序的方法称为 动态 测试。

27. 在单元测试中,测试一个模块时,需要设计 驱动模块和桩模块

四、 简答题

1. 请简述软件测试活动的生命周期?

答:软件从进入测试到退出测试的过程中,所要经历的引入程序错误、通过测试发现错误和清除程序错误的几个阶段。

2. 软件的缺陷等级应如何划分?

1).致命错误,可能导致本模块以及其他相关模块异常,死机等问题;

2).严重错误,问题局限在本模块,导致模块功能失效或异常退出

3).一般错误,模块功能部分失效;

4).建议问题,由问题提出人对测试对象的改进意见;

3. 什么是软件测试?(见第一章)

4. 什么是V模型?简述V模型在软件测试过程中的作用,以及在V模型中各个测试阶段和开发过程的对应关系?

答:

V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系 。

从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系 。

左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。

V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则

5. 软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?

答:大体上来说可分为单元测试,集成测试,系统测试,验收测试

每个阶段又分为以下五个步骤:

测试计划,测试设计,用例设计,执行结果,测试报告

6. 你认为一个优秀的测试工程师应该具备哪些素质?

答:1、具有良好的计算机编程基础 2、具有创新精神和超前意识 3、不懈努力,追求完美 4、具有整体观念,对细节敏感 5、团队合作精神 6、责任心、耐心、细心、信心 7、沟通能力 8、时时保持怀疑态度,并且有缺陷预防的意识

7. 什么是软件缺陷?请简述软件缺陷出现的原因。

答:存在于软件之中的那些不希望,或不可接受的偏差,而导致软件产生的质量问题。

原因:1、技术问题2、算法错误3、语法错误4、计算和精度问题5、系统结构不合理,造成系统性能问题6、接口参数不匹配出现问题。

山东大学软件质量保证与测试技术复习纲要相关推荐

  1. 软件质量保证与测试技术习题

    软件质量保证与测试技术习题 第一章 引论 第二章 软件质量与软件缺陷 第三章 软件测试基础 第4章 软件测试的方法 第五章单元测试.第六章集成测试作业 第七章系统测试作业 第八章验收测试作业 第一章 ...

  2. 软件质量保证与测试技术实验报告(三)静态测试

    1.实验名称--静态测试 2.实验目的 掌握单元测试中的静态测试技术. 3.实验内容 题目:对学生宿舍管理系统(代码见附录B)完成静态测试中的代码测试. 4.实验过程 汇总表: 5.实验心得 通过本次 ...

  3. 软件质量保证与测试技术实验报告(一)白盒测试用例设计

    1.实验名称--白盒测试用例设计 2.实验目的 (1)能够利用白盒测试方法对程序进行测试. (2)会用各种逻辑覆盖法设计测试用例. (3)会用基本路径测试法设计测试用例. 3.实验内容 题目1:使用语 ...

  4. 复习资料:软件质量保证与测试

    复习资料:软件质量保证与测试 第一章 绪论 解答题 第二章 软件测试策略 解答题 第三章 黑盒测试 解答题 第四章 白盒测试 解答题 第五章 软件测试过程 第六章 面向对象测试 解答题: 第七章 自动 ...

  5. 软件质量保证与测试笔记——江湖救急版

    软件质量保证与测试笔记--江湖救急版 Powered by DZY 以下部分图片来源于老师课件,仅供学习交流使用,侵权致删! Ch1 软件质量与测试概念 软件质量的定义 软件质量是"反映实体 ...

  6. 软件质量保证与测试文档怎么写,软件质量保证与测试整理版.pdf

    软件质量保证与测试整理版.pdf 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 把不可能变成可能才 ...

  7. 慕课软件质量保证与测试(第三章.课后作业)

    慕课金陵科技学院.软件质量保证与测试.第三章.黑盒测试.课后作业 0 目录 3 黑盒测试 3.10 课后作业 3.10.1课堂重点 3.10.2测试与作业 4 下一章 0 目录 3 黑盒测试 3.10 ...

  8. 慕课软件质量保证与测试(第五章.课后作业)

    慕课金陵科技学院.软件质量保证与测试.第五章.软件测试过程.课后作业 0 目录 5 软件测试过程 5.7 课后作业 5.7.1 课堂重点 5.7.2 测试与作业 6 下一章 0 目录 5 软件测试过程 ...

  9. 慕课软件质量保证与测试(第三章.单元测试)

    慕课金陵科技学院.软件质量保证与测试.第三章.黑盒测试.单元测试 0 目录 3 黑盒测试 3.9 单元测试 3.9.1课堂重点 3.9.2测试与作业 4 下一章 0 目录 3 黑盒测试 3.9 单元测 ...

最新文章

  1. 企业中如何避免因网卡硬件问题产生的损失
  2. java代码中何处以main开始,Gradle-user guide-第7章 Java 快速开始
  3. Codeforces Round #193 (Div. 2)
  4. Java中关于路径和使用exe4j打包成ext可执行程序的一些小总结
  5. P3449-[POI2006]PAL-Palindromes【结论题,字符串hash】
  6. 【Git、GitHub、GitLab】九 工作中非常重要的一些git用法
  7. element-ui简单使用
  8. Linux Process VS Thread VS LWP
  9. spring bean生命周期_Spring中bean的生命周期和扩展点有哪些?
  10. python 中主线程结束 子线程还在运行么_「干货」python线程笔记
  11. MySQL-InnoDB-事务
  12. Atitit 提升可读性的艺术 目录 1. 几大原则 2 1.1. 直接原则,无脑原则。。。 2 2. 本地化命名法 2 2.1. 可以使用管理命名法 多个api 比如old api,new ap
  13. Windows 开发 辅助调试工具 和 方法
  14. ZooX首发双向电动无人车,会成为自动驾驶出行的主流吗?
  15. 使用svg-sprite-loader 遇到的问题
  16. “竞速”智能网联汽车,领头雁为何是长沙?
  17. pix2pixhd_基于pix2pixHD的行人图像生成
  18. 青海电大随学随考计算机,[青海电大]17秋随学随考心理学作业4题目
  19. 微信小程序不能直接加载本地静态图像作为背景的解决办法
  20. android跳转到微信小程序

热门文章

  1. 大数据平台数据治理体系建设和管理方案
  2. 开题报告的国内外研究现状怎么写呢?
  3. 【转】大学四年因为知道了这32个网站,我成了别人眼中的大神!
  4. 30岁人生进度条_你的人生进度条,只剩下最后的1%
  5. fastTEXT入门自然语言处理NLP
  6. oracle中treat函数,PL/SQL Challenge 每日一题:2016-3-24 面向对象编程:向下转型TREAT...
  7. 论文分享 Simple Baselines for Human Pose Estimation and Tracking
  8. 程序员手疼7年以为就是“键盘手”没在意!竟是骨肿瘤 ....
  9. 虚幻4渲染编程(材质编辑器篇)【第五卷:布料,丝绸纱皮革棉】
  10. 日常计算机桌面系统的维护,新手学电脑日常维护与故障排除