当前位置:文档之家› 软件测试技术复习题(含答案)

软件测试技术复习题(含答案)

软件测试技术复习题(含答案)
软件测试技术复习题(含答案)

注释:黄色表示重复或相似一、选择题

1.软件测试的目的是(B )

A.避免软件开发中出现的错误

B.发现软件中出现的错误

C.容忍软件中出现的错误

D.修改软件中出现的错误

2.对于逻辑表达式((a&b)| |c),需要(C )个测试用例才能完成条件组

合覆盖。

A.2

B.3

C.4

D.5

3.逻辑覆盖法不包括(C )。

A.分支覆盖

B.语句覆盖

C.需求覆盖

D.修正条件判定覆盖

4.如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了

该软件的(A )。

A.判定覆盖

B.条件覆盖

C.判定/条件覆盖

D.组合覆盖

5.使用白盒测试方法时,确定测试数据的依据是指定覆盖标准和(B )。

A.程序的注释

B.程序的内部逻辑

C.用户使用说明书

D.程序的需求说明

6.划分软件测试属于白盒测试还是黑盒测试的依据是(C )。

A.是否执行程序代码

B.是否能看到软件设计文档

C.是否能看到被测源程序

D.运行结果是否确定

7.单元测试中用来模拟被测模块调用者的模块是(C )

A.父模块

B.子模块

C.驱动模块

D.桩模块

8.不属于单元测试内容的是(A )

A.模块接口测试

B.局部数据结构测试

C.路经测试

D.用户界面测试

9.客户端交易处理性能指标是一类重要的负载压力测试指标,以下不属

于客户端交易处理性能指标的是(C )

A.负载测试

B.压力测试

C.疲劳强度测试

D.大数据量测试

10.以下不属于易用性而的是(D )

A.功能易用性测试

B.用户界面测试

C.辅助功能测试

D.可靠性测试

11.软件测试的目的是(F )

E.避免软件开发中出现的错误

F.发现软件中出现的错误

G.容忍软件中出现的错误

H.修改软件中出现的错误

12.软件的测试对象包括(D )。

A.软件代码

B.文档

C.数据

D.以上全选

13.对于逻辑表达式((a&b)| |c),需要(G )个测试用例才能完成条件组

合覆盖。

E.2

F.3

G.4

H.5

14.如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了

该软件的(E )。

E.判定覆盖

F.条件覆盖

G.判定/条件覆盖

H.组合覆盖

15.以下不属于黑盒测试方法的是(D )

A.等价类划分法

B.边界值分析法

C.错误推测法

D.静态结构分析法

16.划分软件测试属于白盒测试还是黑盒测试的依据是(G )。

E.是否执行程序代码

F.是否能看到软件设计文档

G.是否能看到被测源程序

H.运行结果是否确定

17.单元测试中用来模拟被测模块调用者的模块是(G )

E.父模块

F.子模块

G.驱动模块

H.桩模块

18.不属于单元测试内容的是(E )

E.模块接口测试

F.局部数据结构测试

G.路经测试

H.用户界面测试

19.在进行单元测试时,常用的方法是(B )

A.采用黑盒测试,辅之以白盒测试

B.采用白盒测试,辅之以黑盒测试

C.只是用黑盒测试

D.只是用白盒测试

20.客户端交易处理性能指标是一类重要的负载压力测试指标,以下不属

于客户端交易处理性能指标的是(G )

E.负载测试

F.压力测试

G.疲劳强度测试

H.大数据量测试

21.实际的逻辑覆盖测试中,一般以(J )为主设计测试用例。

I.条件覆盖

J.判定覆盖

K.条件组合覆盖

L.路径覆盖

22.单元测试所使用的主要测试方法是(D )

A.黑盒测试

B.静态测试

C.动态测试

D.白盒测试

23.集成测试所使用的主要测试方法是(A )。

A.黑盒测试

B.静态测试

C.动态测试

D.白盒测试

24.系统集成测试常见的有哪几种不同模式(AB )。

A.非渐增式测试模式

B.渐增式测试模式

C.独立测试模式

D.非独立测试模式

25.在集成测试中,主要的集成方法有()。

E.自顶向下

F.自底向上

G.大棒

H.三明治

26.文档测试主要检查文档的(ABCD )。

A.正确性

B.完备性

C.易理解性

D.一致性

27.验收测试完成后还需要提交(AC ),才可交付用户使用。

A.验收报告

B.项目完成报告

C.交付报告

D.无需提供任何报告

28.软件产品的质量中的非功能需求包括(ABCD )等。

A.适用性

B.有效性

C.可靠性

D.性能

29.对于整个软件的本地化过程来说,需要解决的技术问题主要有

(AC )。

A.数据格式

B.页面显示和布局

C.配置和兼容性问题

D.翻译问题

30.测试团队的基本责任应该是(ABCD )。

A.发现软件程序、系统或产品中的所有问题

B.尽早地发现问题

C.督促开发人员尽快地解决程序中的缺陷

D.帮助团队解决资金问题

31.软件缺陷是由很多方面造成的,以下哪个方面是造成软件缺陷的最多

的地方(A )

a)规格说明书

b)系统设计结果

c)编写代码

d)其他

32.单元测试所使用的主要测试方法是(H )

E.黑盒测试

F.静态测试

G.动态测试

H.白盒测试

33.系统集成测试常见的有哪几种不同模式(EF )。

E.非渐增式测试模式

F.渐增式测试模式

G.独立测试模式

H.非独立测试模式

34.对于一些关键代码或新人写的代码,主要采取(B )方式。

A.走查

B.会议审查

C.代码互评

D.自查

35.在集成测试中,主要的集成方法有()。

I.自顶向下

J.自底向上

K.大棒

L.三明治

36.造成软件的主要原因可从(ABC )方面来查找。

A.技术问题

B.软件本身

C.团队工作

D.资金问题

37.代码评审有哪些方法(EFGH )。

E.代码走查

F.正式会议审查

G.代码会审

H.代码咨询

38.驱动程序,用以模拟被测模块的(A )模块。

A.上级模块

B.下级模块

C.同级模块

D.其他

39.整体测试用例的质量要求包括(ABCD )。

A.覆盖率

B.易用性

C.易维护性

D.粒度适中

40.易用性、兼容性、安装、文档测试等主要在(A )阶段完成。

A.单元测试

B.集成测试

C.功能测试

D.验收测试

41.实际的逻辑覆盖测试中,一般以(C )为主设计测试用例。

A.条件覆盖

B.判定覆盖

C.条件组合覆盖

D.路径覆盖

42.软件的缺陷通常集中在(AB )阶段。

A.需求分析

B.系统设计

C.编写代码

D.软件测试

43.对于一些关键代码或新人写的代码,主要采取(B )方式。

A.走查

B.会议审查

C.代码互评

D.自查

44.软件本地化工作中除了翻译之外还应该(BD )。

A.处理字符集问题

B.数据格式

C.页面显示和布局

D.配置和兼容性等问题

45.代码评审有哪些方法(ABCD )。

A.代码走查

B.正式会议审查

C.代码会审

D.代码咨询

46.易用性、兼容性、安装、文档测试等主要在(A )阶段完成。

A.单元测试

B.集成测试

C.功能测试

D.验收测试

47.系统集成测试常见的有哪几种不同模式(IJ )。

I.非渐增式测试模式

J.渐增式测试模式

K.独立测试模式

L.非独立测试模式

48.验收测试完成后还需要提交(EG ),才可交付用户使用。

E.验收报告

F.项目完成报告

G.交付报告

H.无需提供任何报告

49.系统集成测试常见的有哪几种不同模式(AB )。

A.非渐增式测试模式

B.渐增式测试模式

C.独立测试模式

D.非独立测试模式

50.单元测试的主要任务是完成单元中所有(ABCD )等测试。

A.独立路径

B.数据结构

C.边界条件

D.容错性

二、判断题

1.测试应该尽可能早地进行测试。(Y )

2.应该在代码编写完成后开始测试。(X )

3.需求分析和设计阶段不需要测试人员参与。(X )

4.白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能需求。

( X )

5.黑盒测试容易知道用户会用到那些功能,会遇到哪些问题(Y )

6.静态测试通过对执行程序,找到程序中的错误或者是可疑之处。(X )

7.在软件的开发中,每次回归测试都要重新运行完整的测试包。()

8.在对软件缺陷的描述中,测试人员可以对有个人的观点,也可以对开

发人员进行评价,有利于开发人员提高开发质量。(X )

9.验收测试是由用户完成的。(X )

10.集成测试就是系统测试。(X )

11.能够尽可能早的有的时候因为时间紧迫,可以临时安排几个程序员或

者行业新手做测试工作。(X )

12.在实际的运用中,无论对于白盒测试和黑盒测试,通常使用其中一种

方法就可以完成对某一软件的测试工作。(X )

13.发现软件缺陷,就能够尽可能地节约修复缺陷的成本,因此,因此在

软件的设计阶段修复缺陷的费用最低。(X )

14.每一种测试方法都必须执行程序,才能得到最好的效果。(X )

15.在整个软件团队中,对软件测试人员的要求比较低,会操作计算机、

有一定的软件使用经验就可以。(X )

16.在对软件缺陷的描述中,测试人员可以对有个人的观点,也可以对开

发人员进行评价,有利于开发人员提高开发质量。(X )

17.验收测试是由用户完成的。(X )

18.在一个规范的软件的开发中,开发人员的人数一般大于测试人员的人

数。(X )

19.在整个开发周期中要对测试用例进行有效的跟踪和维护。(Y )

20.功能测试也可以采用白盒测试的方法。(X )

21.根据著名的瀑布模型,软件测试应该处在“编程”的下游、在“软件

维护”的上游,先有编程,后有测试,测试的位置很清楚。(Y )22.因为软件开发人员不止一人,因此在测试时候,只能进行松散地实施

测试。(X )

23.单元测试的主要人员构成是开发人员。(Y )

24.在进行系统测试的时候,当发现有错误时候,应该及时修正,紧接着

修正下一个错误。(Y )

25.有的时候因为时间紧迫,可以临时安排几个程序员或者行业新手做测

试工作。(X )

26.软件质量的要求是要满足软件的功能性需求。(X )

27.在整个软件团队中,对软件测试人员的要求比较低,会操作计算机、

有一定的软件使用经验就可以。(X )

28.在整个软件生命周期中的每个阶段、每个时刻都存在着软件测试活动,

软件测试伴随着软件开发。(Y )

29.在整个开发周期中要对测试用例进行有效的跟踪和维护。(Y )

30.功能测试也可以采用白盒测试的方法。(X )

31.能够尽可能早的有的时候因为时间紧迫,可以临时安排几个程序员或

者行业新手做测试工作。(X )

32.在实际的运用中,无论对于白盒测试和黑盒测试,通常使用其中一种

方法就可以完成对某一软件的测试工作。(X )

33.发现软件缺陷,就能够尽可能地节约修复缺陷的成本,因此,因此在

软件的设计阶段修复缺陷的费用最低。(X )

34.每一种测试方法都必须执行程序,才能得到最好的效果。(X )

35.在整个软件团队中,对软件测试人员的要求比较低,会操作计算机、

有一定的软件使用经验就可以。(X )

36.在对软件缺陷的描述中,测试人员可以对有个人的观点,也可以对开

发人员进行评价,有利于开发人员提高开发质量。(X )

37.验收测试是由用户完成的。(X )

38.在一个规范的软件的开发中,开发人员的人数一般大于测试人员的人

数。(X )

39.在整个开发周期中要对测试用例进行有效的跟踪和维护。(Y )

40.功能测试也可以采用白盒测试的方法。(X )

41.测试应该尽可能早地进行测试。(Y )

42.若能推迟暴露软件中的错误,则修复和改正错误所花费的代价就会降

低。(X )

43.白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能需求。

(X )

44.黑盒测试容易知道用户会用到那些功能,会遇到哪些问题(Y )

45.黑盒测试基于软件开发文档,所以也能知道软件实现了文档中的哪些

功能(Y )

46.逻辑覆盖法是一种常用的白盒测试方法。(Y )

47.程序中存在很多判定和条件,不可能实现100%的条件覆盖。(Y )

48.静态测试通过对执行程序,找到程序中的错误或者是可疑之处。(X )

49.在整个开发周期中要对测试用例进行有效的跟踪和维护。(Y )

50.在进行系统测试的时候,当发现有错误时候,应该及时修正,紧接着

修正下一个错误。(Y )

三、简答题

1.健壮等价类测试与标准等价类测试的主要区别是什么?

解:主要区别在于健壮等价类测试在标准等价类的基础上还要进行有效取值范围之外的输入(无效输入)的测试。

2.单元测试有哪些步骤?各个步骤有哪些实施内容?

单元测试的步骤

通常单元测试在编码阶段进行。在源程序代码编制完成,经过评审和验证,确认没有语法错误之后,就开始进行单元测试的测试用例设计。利用设计文档,设计可以验证程序功能、找出程序错误的多个测试用例。对于每一组输入,应有预期的正确结果。

模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。这些辅助模块分为两种:

驱动模块:相当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。

桩模块:用以代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。

如果一个模块要完成多种功能,且以程序包或对象类的形式出现,例如Ada中的包,Modula中的模块,C++中的类。这时可以将这个模块看成由几个小程序组成。对其中的每个小程序先进行单元测试要做的工作,对关键模块还要做性能测试。对支持某些标准规程的程序,更要着手进行互联测试。有人把这种情况特别称为模块测试,以区别单元测试。

单元测试的内容

模块接口测试:对通过被测模块的数据流进行测试。为此,对模块接口,包括参数表、调用子模块的参数、全程数据、文件输入/输出操作都必须检查。

局部数据结构测试:设计测试用例检查数据类型说明、初始化、缺省值等方面的问题,还要查清全程数据对模块的影响。

路径测试:选择适当的测试用例,对模块中重要的执行路径进行测试。对基本执行路径和循环进行测试可以发现大量路径错误。

错误处理测试:检查模块的错误处理功能是否包含有错误或缺陷。例如,是否拒绝不合理的输入;出错的描述是否难以理解、是否对错误定位有误、是否出错原因报告有误、是否对错误条件的处理不正确;在对错误处理之前错误条件是否已经引起系统的干预等。

边界测试:要特别注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。

此外,如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。这类信息对进行性能评价是十分有用的。

3.单元测试的策略主要有哪些,并简述这些策略。

单元测试策略主要有三种方式:

1.自顶向下的单元测试策略:从顶层调用的单元做成桩模块;对

第二层测试,使用上面已测试的单元做驱动模块;依次类推,直到全部单元测试结束。

2.自底向上的单元测试策略:先对模块调用的最底层模块进行测

试,模拟调用该模块的模块为驱动模块;其次,对上一层模块进行单元测试,用已经被测试过的模块做桩模块,依次类推,直到全部单元测试结束。

3.孤立测试的单元测试策略:无需考虑每个模块与其他模块之间

的关系,分别为每个模块单独设计桩模块和驱动模块,逐一完成所有单元模块的测试。

4.集成测试有哪些不同的集成方法?简述不同方法的特点。

解:集成测试通常有一次性集成、自顶向下集成、自底向上集成和混合集成4种集成方法。

一次性集成方法需要的测试用例数目少,测试方法简单、易行。

但是由于不可避免存在模块间接口、全局数据结构等方面的问题,所以一次运行成功的可能性不大;如果一次集成的模块数量多,集成测试后可能会出现大量的错误,给程序的错误定位与修改带来很大的麻烦;即使集成测试通过,也会遗漏很多错误进入系统测试。

自顶向下集成在测试的过程中,可以较早地验证主要的控制和判断点;一般不需要驱动程序,减少了测试驱动程序开发和维护的费用;

可以和开发设计工作一起并行执行集成测试,能够灵活的适应目标环境;容易进行故障隔离和错误定位。但是在测试时需要为每个模块的下层模块提供桩模块,桩模块的开发和维护费用大;桩模块不能反映真实情况,重要数据不能及时回送到上层模块,导致测试不充分;涉及复杂算法和真正I/O的底层模块最易出问题,在后期才遇到导致过多的回归测试。

自底向上集成可以尽早的验证底层模块的行为;提高了测试效率;

一般不需要桩模块;容易对错误进行定位。但是直到最后一个模块加进去之后才能看到整个系统的框架;驱动模块的设计工作量大;不能及时发现高层模块设计上的错误。

混合集成具有自顶向下和自底向上两种集成策略的优点,但是在被集成之前,中间层不能尽早得到充分的测试。

5.简述基于功能分解的集成的特点,并分析其适用的应用场景。

6.系统测试主要包括哪些内容?

解:系统测试主要包括强度测试、性能测试、恢复测试、安全测

试、可靠性测试、安装测试、容量测试和文档测试。

7.针对某论坛,考虑其重要测试的内容。

8.简述黑盒测试方法的特点

黑盒测试用例设计方法主要有以下几种:等价类划分法、边界值分析法、因果图法、决策表法、错误推测法等方法。

等价类划分法的特点:等价类划分法的优点是考虑了单个输入域的各类情况,避免了盲目或随机选取输入数据的布完整性和覆盖的不稳定性。

等价类划分法虽然简单易用,但是没有对组合情况进行充分的考虑。需要结合其他测试用例设计的方法进行补充。

边界值分析法的特点:1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

因果图法的特点:1、考虑输入条件间的组合关系。2、考虑输出条件对输入条件的信赖关系,即因果关系。3、测试用例发现错误的效率高。4、能检查出功能说明书中的某些不一致或遗漏。

决策表法的特点:在一个程序中,如果输入输出比较多,输入之间,输出之间相互制约的条件比较多,在这种情况下使用决策表更合适,它可以清楚地表达它们之间的各种复杂关系。

错误推测法的特点:没有确定的步骤,很大程度上是凭经验进行的。

9.健壮等价类测试与标准等价类测试的主要区别是什么?

主要区别在于健壮等价类测试在标准等价类的基础上还要进行有效取值范围之外的输入(无效输入)的测试。

10.简述单元测试的目的和意义。

目的:是暴漏出失败和错误。失败的可能性是可预期的,并且可以使用断言来进行检查。而错误则是不可预期的问题

意义:(1)提前发现问题并解决可以节约时间(2)是测试阶段的基础,为后期的集成测试和系统测试做好准备;(3)对单元独立测试,容易发现问题,减少成本。

11.单元测试的策略主要有哪些,并简述这些策略。

12.简述基于调用图的集成的特点,并分析其适用的应用场景。

13.什么是系统测试?

系统测试是指测试整个系统已确定其是否能够提供应用的所有需求行为,包含了多种测试活动,主要分为功能性测试和非功能测试。

14.针对某杀毒软件(如360杀毒),考虑其需要测试的内容。

主要是采用黑盒测试的方法,包括程序各功能性测试、界面友好性测试、时效性测试、安装/卸载测试、用户说明书测试、与其他软件的兼容性、与特定硬件的兼容性、可靠性(如长时间运行,休眠/唤醒等)、合法性(版权标示验证)等。

15.什么是软件测试计划?

是指导测试过程的纲领性文件,包含产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流和风险分析等内容。

16.制定软件测试的计划的原则有?

(1)制定测试计划应尽早开始;(2)保持测试计划的灵活性;(3)保持测试计划简洁和易读;(4)尽量争取多渠道评审测试计划;(5)计算测试计划的投入。

17.单元测试的原则有哪些?

(1)单元测试越早进行越好;(2)单元测试应该根据《软件详细设计规格说明》进行;(3)对于修改过的代码应该重做单元测试,以保证对已发现错误的修改没有引入新的错误;(4)当测试用例的测试结果与设计规格说明书的预期结果不一致时,测试人员应该如实记录实际的测试结果;(5)单元测试应注意选择好被测试软件单元的大小;(6)一个完整的单元测试说明应该包含软件证明测试和负面测试;(7)注意使用单元测试工具。

18.单元测试的重要性及目的是什么?

19.系统测试与用户测试有何不同?

系统测试是测试整个系统已确定其是否能够提供应用的所有需求行为;用户测试分为体验、界面、验收、用户测试报告组成

20.制定软件测试的计划的步骤有?

(1)产品基本情况调研;(2)测试需求说明;(3)测试的策略和记录;(4)测试资源配置;(5)计划表;(6)问题跟踪报告;(7)测试计划的评审

21.什么是静态测试、动态测试?

软件测试工程师高级视频教程

软件测试工程师高级视频教程 什么是软件测试?为什么有这么多人选择学习软件测试?软件测试有超强的预判能力,拯救用户,拯救软件,避免未来软件被用户无情卸载的命运。2018年软件测试将延续近两年火爆的发展势头,千锋出品的软件测试工程师高级视频教程,将为广大软件测试爱好者的高效自学提供可能。 下面就来说说千锋教育软件测试教学团队全新录制的5章视频教程都涵盖哪些内容。 软件测试工程师高级视频教程:https://www.doczj.com/doc/fa4924285.html,/s/1dFm5wbR 软件测试工程师高级视频教程第一章:在本章中,老王详细向学生们介绍了软件测试的历史,软件测试的目的,软件测试的对象、软件测试概念等具体知识。

让学生一方面逐步熟悉软件测试的一些经典理论和思想,另一方面结合知识概念从根本的角度理解软件测试是什么,以及软件测试的重要性。 软件测试工程师高级视频教程第二章:本章课程主要是向学生讲解软件测试过程模型。但为了让学生们更好的理解这个知识点,我们需要先去了解什么是软件的生命周期,软件生命周期都包含哪些具体活动?什么是软件开发的过程,软件开发团队的工作过程模型都有哪些。只有充分了解了这些内容,我们在学习软件测试过程模型的时候,才会更好的掌握相关的知识与概念。 软件测试工程师高级视频教程第三章:本集视频主要介绍了从开发角度划分的5类测试方法 软件测试工程师高级视频教程第四章:本章主要讲解软件测试计划的内容。测试计划是一切软件测试活动开始前的准备工作,通过对测试计划的分析与编写,实际是让相关参与者提前了解未来软件测试过程中应该重点关注的各项内容。所以所有软件测试工程师必备的一项技能。 软件测试工程师高级视频教程第五章:本章的内容主要带领各位同学去一起关注了解关于需求的各项知识。需求是测试工程师工作过程中的行动纲领,需要测什么,为什么需要测都是与需求中的具体要求相关。同时,需求过程中引入缺陷的几率很大,而发现后修复其的成本却很低,所以了解需求,掌握需求分析方法,熟练编写测试需求也是软件测试工程师的重要技能之一。 目前软件测试人才的缺口在30万人以上,IT行业国内外巨头正在加紧争夺软件测试人才,华为一次抛出50名软件测试人员的招聘大单,而联想、用友、

软件测试基础课程—慕课网

软件测试基础教程——慕课网 第一课时:软件测试概要 一、软件测试的定义 软件测试是使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。 二、软件测试的测试的对象 需求、概要设计、详细设计、运行环境、可运行程序、源代码。(软件测试≠程序测试) 三、软测的五大要素及两大目标 五大要素: 质量(最为核心),人员(决定因素),技术(实现手段)【测试技术,方法,测试工具】,资源【测试所需的硬件,网络环境,测试生命周期,测试时间】,流程(测试标准)【测试计划,测试执行,报告】目标:提升测试覆盖率及测试效率 四、软件测试所遵循的原则: 1.测试显示缺陷的存在,但不能证明系统不存在缺陷。 2.穷尽测试是不可能的,应设定及时终止的条件。 3.测试应该尽早进行。

4.缺陷具备群集特性。越是发现问题多的模块,就是我们重点关注的对象。 5.测试的杀虫剂悖论。在测试当中,我们采用同样的测试用例、同样的测试方法,多次、重复的来测试某一个模块,那最后我们就不能够再发现新的缺陷。所以我们的测试用例和测试方法应该不定期的评审和修改,并增加不同的测试方法或测试用例来测试软件或系统的不同部分,从而发现更多的缺陷。 6.测试的二八原则。就是我们应该把80%的时间或资源用在20%的重点模块上,重点测试这款软件中20%的重要模块,来达到我们测试的效率和资源配置最佳的比例。 7.测试活动依赖于测试背景。 第二课时:软件测试阶段、手段、模式 一、软件测试阶段 软件测试按测试阶段来分类:单元测试、集成测试、系统测试、验收测试。 (一)单元测试 是各个阶段测试的基础,是对软件中的最小可测试单元进行检查和验证。单元是人为规定的可测试的最小的模块。(java面向对象语言来说,最小可测试单元是每一个类) 单元测试是对代码进行测试 测试框架:junit针对JAVA nunit针对.net phpunit针对PHP CppUnit针对C++ 原则: 1.尽可能的保证各个测试用例是互相独立的。尽量避免使用依赖的方法。编写一个模拟的方法来取代使用外部依赖。 2.一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。 益处: 1.能尽早发现缺陷。 2.有利于重构。 3.简化集成。 4.文档。简化文档作用 5.用于设计。 限制: 1.不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误。 2.每一行代码,一般需要3~5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。 (二)集成测试(偏于技术角度验证)

软件测试技术经典教程笔记(修).docx

第一章基础知识 1.1、软件 1)、软件=程序+文档 2)、分类 功能:系统+应用 架构:单机+C/S+B/S 用户:产品+项目 规模:小型+中型+大型 1.2、Bug 1)、类型一(广义上,软件生命周期,与用户需求不符的问题): 完全没有实现的功能 基本实现功能,但有功能上或性能上的问题 实现了用户不需要的功能 2)、类型二(测试执行阶段的问题) Defect---------Requirements&Design Error-----------Development Bug------------Testing Failure---------Post production 1.3、测试 1)、概念: 测试是为了检验实际的软件是否符合用户需求,所以不能为了发现错误而发现错误。使用人工或自动手段,来运行或测试某个系统的过程。 2)、测试环境:硬件+软件+网络 要求:真实(项目、产品)+干净+无毒+独立(测试与开发) 1.4、测试用例 测试用例=输入+输出+测试环境 便于团队交流,便于重复测试,便于跟踪统计,比纳与用户自测 开发生命周期 需求分析→概要设计→详细设计→编码→维护 测试生命周期 测试计划→测试设计→测试执行→测试评估 需求分析和测试计划完成后,根据《系统需求规格说明书》和软件原型(DEMO)写测试用例 1.5 其他 1)、测试人员素质要求:细心、耐心、信心、服务意识、团队合作意识、沟通能力 2)、如何成为优秀的测试工程师:1、不断学习充电2、阅读原版书籍3、阅读缺陷管理系 统中的缺陷报告4、阅读高手写的测试用例5、学习产品相关 的业务知识

1.6 软件测试的基本规则 1) Zero Bug 与Good Enough Good Enough原则:不充分测试是不负责任,过分的测试是一种资源浪费。 参考:*遗留bug不超过10个,严重的不超过5个 *测试用例执行率为100%,通过率为95% *单元测试,关键模块语句覆盖率达到100%,分支覆盖率达到85% 2) 不要视图穷举法 3) 开发人员不能既是运动员又是裁判员 4) 软件测试要尽早执行 一般情况下,软件80%的缺陷集中在20%的模块中。 7) 缺陷具有免疫性 缺陷具有免疫性,需要根据新版本修改维护测试用例,另外,有一个值得注意的经验:没修复3-4个bug,可能会产生一个新bug。 第二章测试分类 2.1、是否运行程序 Static Testing------------代码规范、界面、文档 Dynamic Testing--------运行程序 2.2、根据阶段分类 Unit Testing(单元测试)----------10% 最小模块,依据源程序和《详细设计》 白盒测试人员||开发人员 编译代码→静态测试→动态测试 桩模块(Stub)、驱动模块(Driver) Integration Testing(集成测试)----------20% 模块间的接口,依据单元测试的模块和《概要设计》 白盒测试人员||开发人员 一般单元和集成同步进行 System Testing(系统测试)----------40% 整个系统(功能、性能、软硬件环境),依据《需求规格说明书》 黑盒测试工程师 Acceptance Testing(验收测试)----------20% 整个系统(功能、性能、软硬件环境),依据《需求规格说明书》和验收标准

软件测试入门教程

软件测试入门教程 软件测试(Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。 它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。 Glenford J.Myers曾对软件测试的目的提出过以下观点:

(1)测试是为了发现程序中的错误而执行程序的过程。 (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。 (3)成功的测试是发现了至今为止尚未发现的错误的测试。 (4)测试并不仅仅是为了找出错误。通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。 (5)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。 (6)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。 (7)另外,根据测试目的的不同,还有回归测试、压力测试、性能测试等,分别为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力等。 测试原则

2010级软件工程本科《软件测试技术》试卷B - 答案

第 页 共 6 页 1 考试方式: 闭卷 太原理工大学 软件测试技术 试卷B (答案) 适用专业: 2010级软件工程 考试日期: 2012.12.7 时间: 120 分钟 共 8 页 一、 填空题(每空1分,10分) 1._________ _______的定义:软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和。(软件质量) 2.软件缺陷生命周期有_________ _______状态、_________ _______状态、_________ _______状态等三种基本状态。(“新打开的”、“已修正”和“已关闭”) 3.____________________是将一个软件产品按特定国家和语言市场的需要进行全面定制的过程。 (软件本地化) 4.软件评审的对象分为:__________ _______、________ _________、_________ _________和__________ _______。(管理评审,技术评审,文档评审和流程评审) 5.__________________是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。(压力测试,也称为强度测试、负载测试) 二、 判断题(每题1分,10 分,正确的√,错误的╳) 1.代码评审员不完全由测试员担任。( √ ) 2.测试人员要坚持原则,缺陷未修复完坚决不予通过。( ╳ ) 3.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。( ╳ ) 4.好的测试是用少量测试用例运行程序,发现被测程序尽可能多的错误。( √ ) 5.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的

最全软件测试基础教程(2011版)

软件测试基础教程 测试的基本概念 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 1、测试的分类: 从测试方法的角度可以分为手工测试和自动化测试。 手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。 单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。 单元测试的依据是系统的详细设计;一般由项目组开发人员自己完成。 集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为:白盒测试、黑盒测试和灰盒测试。 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子, 在完全不考虑程序内部结构和内部

软件测试技术考题A卷

《软件测试技术》试卷(A) 1.软件测试的目的:() A. 避免软件开发中出现的错误 B. 发现软件开发中出现的错误 C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D. 修改软件中出现的错误 2.软件测试按照测试层次可以分为( ) A.黑盒测试、白盒测试 B. 功能性测试和结构性测试 C.单元测试、集成测试和系统测试 D.动态测试和静态测试 3.软件测试是采用()执行软件的活动。 A.测试用例 B.输入数据 C.测试环境 D.输入条件 4.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:() 1预防软件发生错误 2发现程序错误 3提供诊断错误信息 A.只有1 B.只有2 C.只有3 D.都是 5.导致软件缺陷的最大原因是:() A.软件需求说明书 B.设计方案 C.编码 D.维护 6.测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括() A.测试输入、执行条件和预期的结果。 B.测试目标、测试工具 C.测试环境 D.测试配臵 7、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是() A、打开——修复——关闭 B、打开——关闭 C、打开——保留

D、激活——修复——重新打开 8、在下列描述中,关于测试与调试的说法错误的是() A、测试是显示错误的行为;而调试是推理的过程; B、测试显示开发人员的错误。调试是开发人员为自己辩护; C、测试能预期和可控。调试需要想象、经验和思考; D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。 9、某次程序调试没有出现预计的结果,下列()不可能是导致出错的原因。 A.变量没有初始化 B.编写的语句书写格式不规范 C.循环控制出错 D.代码输入有误 10、软件缺陷修复的代价最高的阶段为() A、发布阶段 B、需求阶段 C、设计阶段 D、编码阶段 11、不属于逻辑覆盖方法的是()。 A.组合覆盖B.判定覆盖 C.条件覆盖D.接口覆盖 12、()是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。 A、条件覆盖 B、组合覆盖 C、判定覆盖 D、语句覆盖 13、下列___不属于软件缺陷() (A) 测试人员主观认为不合理的地方 (B) 软件未达到产品说明书标明的功能 (C)软件出现了产品说明书指明不会出现的错误 (D)软件功能超出产品说明书指明范围 14.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?()A.功能测试 B.单元测试 C.结构测试 D.验收测试 15、单元测试的主要任务不包括()。 A.出错处理B.全局数据结构 C.独立路径D.模块接口 二、判断题(共30分,每小题2分。把最恰当的答案题号填入括号内) 1、一个程序中所含有的路径数与程序的复杂程度有着直接的关系。(对) 2、结构性测试是根据软件的规格说明来设计测试用例。(错) 3、错误推测法是根据输出对输入的依赖关系来设计测试用例的。(错) 4、软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、 缺陷状态、缺陷起源、缺陷来源、缺陷原因。(对)

软件测试技术基础课后习题答案[1]

第1章软件测试概述 1.简述软件测试的意义。 解:随着计算机技术的迅速发展和广泛深入的应用,软件质量问题已成为开发和使用软件人员关注的焦点。而由于软件本身的特性,软件中的错误是不开避免的。不断改进的开发技术和工具只能减少错误的发生,但是却不可能完全避免错误。因此为了保证软件质量,必须对软件进行测试。软件测试是软件开发中必不可少的环节,是最有效的排除和防治软件缺陷的手段,是保证软件质量、提高软件可靠性的最重要手段。 2.什么是软件缺陷?它的表现形式有哪些? 解:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。 它的表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标;(4)软件功能超出了产品说明书中指出的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。 3.简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又最低? 解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又最低。 4.当用户登录某网站购物完毕并退出后,忽然想查查购物时付账的总金额,于是按了浏览器左上角的“退回”按钮, 就又回到了退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪一类? 解:有缺陷。其所属类别与软件产品说明书的要求有关。 5.什么是软件测试?简述其目的与原则。 解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证和确认的活动过程。 测试目的:(1)证明:获取系统在可接受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。(2)检测:发现缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。(3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的信息;在过程中尽早检测错误;确认问题和风险,并且提前确认解决这些问题和风险的途径。 测试过程中应注意和遵循的原则:(1)测试不是为了证明程序的正确性,而是为了证明程序不能工作。(2)测试应当有重点。(3)事先定义好产品的质量标准。(4)软件项目一启动,软件测试也就开始,而不是等到程序写完才开始进行测试。(5)穷举测试是不可能的。(6)第三方进行测试会更客观,更有效。(7)软件测试计划是做好软件测试工作的前提。(8)测试用例是设计出来的,不是写出来的。(9)对发现错误较多的程序段,应进行更深入的测试。(10)重视文档,妥善保存一切测试过程文档。 6.件测试阶段是如何划分的? 解:软件测试的阶段划分为:规格说明书审查;系统和程序设计审查;单元测试;集成测试;确认测试;系统测试;验

软件测试技术-软件测试管理试题

软件测试技术-软件测试管理试题

第三章软件测试管理 简答题 1.你是如何理解测试的层次和主要的管理活 动? 在软件测试的管理中,以下内容的定义反映测试工作的组织策略: a、软件测试遵循的标准; b、软件测试的工作范畴; c、软件测试环境; d、软件测试产品; e、适用于软件测试活动的软件资源标识规则; f、软件测试的进度安排。 软件测试遵循的标准 组织者在指定范围内选择软件测试遵循的标准,并结合本软件系统的具体要求,使之贯彻到整个软件测试的计划、实现和管理过程之中。根据标准,需要被明确的内容包括:测试阶段和测试文档类型。 可以从三个角度来划分测试阶段:面向测试操作类型的阶段划分、面向测试操作对象的阶段划分、面向测试实施者的阶段划分。测试操作类型包括:调试、集成、确认、验证、组装、验收、操作等。测试操作对象可以是:单元、部件、配置项、子系统、系统等。测试实施者可以是:开发者、测试者、使用者、验收者等。各类标准从不同角度定义测试评审阶段,而测试组织者可以在符合所选标准的同时,结合多个划分因素规定本系统的测试阶段。

各标准规定的测试文档类型也不尽相同。如国标《软件产品开发文件编制指南》规定了两类测试文档:测试计划、测试分析报告;国标《计算机软件测试文件编制规范》定义了八类测试文档:测试计划、测试设计说明、测试用例说明、测试规程说明、测试项传递报告、测试日志、测试事件报告、测试总结报告;《XXXX软件工程化技术文件》定义了三类测试文档:测试计划、测试说明、测试报告。我们认为最后这种规定较易操作:因为,太少的测试文档类型不利于有步骤有层次地定义测试内容,也不利于测试用例和测试例程的良好表达;太多的测试文档类型易使测试组织陷入到繁杂的文档规范和编制中去;而第三种定义较为适中。其中:测试计划在系统分析/设计阶段提交,着重定义测试的资源、范围、内容、安排、通过准则等;测试说明在测试计划明确后开始编制,针对软件需求和设计要求具体定义测试用例和测试规程;测试报告分析和总结测试结果,测试日志是其必要附件。 2.在实际项目中,如何对软件测试进行有效管 理? 我们的项目的生命周期大致分为以下几个阶段:需求阶段、设计阶段、编码阶段、系统测试阶段和客户测试阶段,规定各阶段的流程并指定责任人。按照规程和项目实际情况确定个项目的里程碑,设置多个检验点,由QA监督个检验点评审过程。 通过CMM2的六个关键域职称项目管理以CMM为目标和支撑进行项目的管理。在国内软件开发行业一片混乱中,决定走国际化的标准轨

(完整版)软件测试试题及答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 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. 测试错误提示信息不属于文档测试范围。( × )

软件测试基础知识整理

软件测试基础教程 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 一、测试的分类: 从测试方法的角度分为: (1)手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 (2)自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 > 从整体的角度分为: (1)单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。单元测试的依据是系统的详细设计;一般由项目组开发人员自己 完成。 (2)集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 (3)系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 (4)确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为: . (1)白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 (2)黑盒测试:是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时, 把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它 只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。 黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测法。 A、等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子 集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试 用例设计方法。 B、边界值分析:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是 发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错 误。 C、错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的 方法。错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特 殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的 错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据 和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错 误的情况。可选择这些情况下的例子作为测试用例。

软件测试期末试题B卷及答案最终版

2008 说明:本试卷共四大题,试卷满分100分。 注意:请将所有答案填写在最后一页答题卡上。..................... 一、单项选择题:共20小题,每小题2 分,满分40分。 1.软件测试的目的:( c ) A. 避免软件开发中出现的错误 B. 发现软件开发中出现的错误 C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D. 修改软件中出现的错误 2、软件测试是采用( a )执行软件的活动。 A.测试用例 B.输入数据 C.测试环境 D.输入条件 3、导致软件缺陷的最大原因是:( a ) A.软件需求说明书 B.设计方案 C.编码 D.维护 4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是( d ) A、打开——修复——关闭 B、打开——关闭 C、打开——保留 D、激活——修复——重新打开 5、在下列描述中,关于测试与调试的说法错误的是( d ) A、测试是显示错误的行为;而调试是推理的过程; B、测试显示开发人员的错误。调试是开发人员为自己辩护; C、测试能预期和可控。调试需要想象、经验和思考; D、测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。 6、某次程序调试没有出现预计的结果,下列( b )不可能是导致出错的原因。 A.变量没有初始化B.编写的语句书写格式不规范 C.循环控制出错D.代码输入有误 7、软件缺陷修复的代价最高的阶段为( a ) A、发布阶段 B、需求阶段 C、设计阶段 D、编码阶段 8、不属于逻辑覆盖方法的是(d )。 A.组合覆盖B.判定覆盖 C.条件覆盖D.接口覆盖 9、( d )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。 A、条件覆盖 B、组合覆盖 C、判定覆盖 D、语句覆盖

软件测试技术基础教程

软件测试技术基础教程 软件测试技术基础教程。近来,软件测试行业发展迅速,企业越来越重视测试了。越来越多的人加入了测试大军中,很多人也想通过自学来学习软件测试技术加入这个行业,更多的人开始关注软件测试案例教程,那么软件测试案例教程哪里好呢?软件测试案例教程内容有什么?软件测试案例教程学什么?下面我为大家简要介绍一下软件测试案例教程——黑盒测试和白盒测试 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误: 1、是否有不正确或遗漏的功能? 2、在接口上,输入是否能正确的接受?能否输出正确的结果? 3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求? 5、是否有初始化或终止性错误? 软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查: 1、对程序模块的所有独立的执行路径至少测试一遍。 2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。 3、在循环的边界和运行的界限内执行循环体。 4、测试内部数据结构的有效性,等等。

软件测试技术基础教程(第2版)-习题答案

软件测试技术基础教程(第2版)-习题答案

第一章软件测试理论 一、选择题 1、C 2、A 3、D 4、B 5、D 6、 D 7、B 8、B 二、简答题 1. 参考答案: 软件测试是伴随着软件的产生而产生的。在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。 到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA或者SQA部门。后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。 到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试作为软件

质量保证(SQA)的主要职能,包含软件质量评价的内容。软件测试已有了行业标准(IEEE/ANSI )。 在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。 但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。 总之,国内软件测试行业与一些发达国家相比还存在一定的差距。 2. 参考答案: 软件缺陷造成的修复费用随着时间的推移呈指数级地增长,如下图所示。 3. 参考答案: 软件测试的复杂性体现在:

?不可能对程序实现完全测试。 ?杀虫剂现象,即为了克服被测试软件的免疫力,软件测试员必须不断编写新的测试程 序,对程序的各个部分进行不断测试,以避 免被测试软件对单一的测试程序具有免疫 力而使软件缺陷不被发现。 ?软件测试的代价不容易掌握,因为随着测试量的增加,测试成本将呈几何数级上升,而 软件缺陷数量降低到某一数值之后将没有 明显的变化,寻求最优测试点,掌握好测试 工作量是至关重要的。 ?在实际操作过程中,测试人员要进行正确的判断,合理的取舍,根据风险分析来决定哪 些故障需要修复,哪些故障可以不修复,即 并不是所有的软件缺陷都需要被修复。 4. 参考答案: 软件测试是软件生命期中费用消耗最大的环节。测试费用除了测试的直接消耗外,还包括其他的相关费用。影响测试费用的主要因素有:(1)软件的功能,软件产品需要达到的标

《软件测试技术基础教程》习题解答

第一章软件测试理论 一、选择题 1. 软件测试的目的是 C 。 A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 2. 下面关于软件测试的说法, A 是错误的。 A.软件测试是程序测试 B.软件测试贯穿于软件定义和开发的整个期间 C.需求规格说明、设计规格说明都是软件测试的对象 D.程序是软件测试的对象 3. 某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证: ①经过自己测试的软件今后不会再出现问题; ②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结; ③承诺不需要其他人员,自己就可以独立进行测试工作; ④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休; 你认为应聘者甲的保证 B 。 A.①、④是正确的B.②是正确的 C.都是正确的D.都不正确 4. 软件测试的对象包括 B 。 A.目标程序和相关文档B.源程序、目标程序、数据及相关文档C.目标程序、操作系统和平台软件D.源程序和目标程序 5. 导致软件缺陷的原因有很多,①-④是可能的原因,其中最主要的原因包括 D 。 ①软件需求说明书编写的不全面,不完整,不准确,而且经常更改②软件设计说明书③软件操作人员的水平④开发人员不能很好的理解需求说明书和沟通不足 A.①、②、③B.①、③C.②、③D.①、④ 二、简答题 1.简述软件测试发展的历史及软件测试的现状。 参考答案: 软件测试是伴随着软件的产生而产生的。在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。 到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA 或者SQA部门。后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。 到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。软件测试已有了行业标准(IEEE/ANSI )。 在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。 但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。

软件测试学习课程全集

软件测试学习课程全集 最近,IT人才市场在软件测试工程师方面的人才缺口逐渐扩大,很多朋友也瞄准机会,想要学习软件测试,有很多朋友喜欢自学,那么笔者就必须提醒各位一句了,软件测试这个行业,常学常新,由于市场的不断发展,软件测试要学习的东西也在不断更新,所以下载软件测试培训视频一定尽量找最新最近的。另外,往远了说,软件测试这个行业又博又深,因此,在大家看软件测试学习课程学习软件测试之前,有这么三个问题有必要搞明白: 1、一定要懂代码吗? 很多公司对一般测试员的要求很低;而且现在铺天盖地的培训机构都在宣传"零基础入门软件测试,培训三个月包找工作",所以导致很多人误以为测试很简单。其实测试不是简单的,当开发人员将软件提交到测试人员那里以后,测试人

员最好要迅速透彻的理解软件的功能。如果你有一定的编码基础,就能更好的了解所要测软件的功能及测试需要的软硬件环境,和开发沟通遇到的问题。 2、软件测试人员如何成长? 现在网络这么发达,学习编程可以去CSDN、开源中国等论坛,学习测试可以去千锋教育这样的老牌培训机构了。 可以多去浏览,总会看到很多行业资讯、学习资料等,比较高效的是参与其中,分享一些自己的学习心得,参与一些自己感兴趣的活动,这样你会成长的更快更好。如果坚持自学的话,也完全可以去千锋教育的网站要软件测试学习课程,比较系统,适合新手学。 3、工作技能要广还是精? 软件测试种类很多:功能测试、性能测试、自动化测试等等;但其实很多人能接触的可能只是某一个方面。最好能广泛接触下各个方面的测试,比如自动化测试网上有很多免费资料、视频及工具,刚开始可以下载已成型的工具试用,跟着相关资料不断学习,等到后期可以研究下各个自动化测试框架,再厉害的就可以自己编写自动化测试工具了。通过广泛接触各个方面的知识,了解清楚行业发展及自己兴趣爱好,选择自己喜欢的一个方面不断深入,学到精通,你就应该已经成为一名优秀的测试员了。 随着时代的不断发展,每个行业都会不断的整合、改变,我们能做的就是选择好自己喜欢的行业,不断学习,自学是枯燥的,不管是下载软件测试学习课程

软件测试技术_软件测试管理试题

第三章软件测试管理 简答题 1.你是如何理解测试的层次和主要的管理活动? 在软件测试的管理中,以下容的定义反映测试工作的组织策略: a、软件测试遵循的标准; b、软件测试的工作畴; c、软件测试环境; d、软件测试产品; e、适用于软件测试活动的软件资源标识规则; f、软件测试的进度安排。 软件测试遵循的标准 组织者在指定围选择软件测试遵循的标准,并结合本软件系统的具体要求,使之贯彻到整个软件测试的计划、实现和管理过程之中。根据标准,需要被明确的容包括:测试阶段和测试文档类型。 可以从三个角度来划分测试阶段:面向测试操作类型的阶段划分、面向测试操作对象的阶段划分、面向测试实施者的阶段划分。测试操作类型包括:调试、集成、确认、验证、组装、验收、操作等。测试操作对象可以是:单元、部件、配置项、子系统、系统等。测试实施者可以是:开发者、测试者、使用者、验收者等。各类标准从不同角度定义测试评审阶段,而测试组织者可以在符合所选标准的同时,结合多个划分因素规定本系统的测试阶段。 各标准规定的测试文档类型也不尽相同。如国标《软件产品开发文件编制指南》规定了两类测试文档:测试计划、测试分析报告;国标《计算机软件测试文件编制规》定义了八类测试文档:测试计划、测试设计说明、测试用例说明、测试规程说明、测试项传递报告、测试日志、测试事件报告、测试总结报告;《XXXX软件工程化技术文件》定义了三类测试文档:测试计划、测试说明、测试报告。我们认为最后这种规定较易操作:因为,太少的测试文档类型不利于有步骤有层次地定义测试容,也不利于测试用例和测试例程的良好表达;太多的测试文档类型易使测试组织陷入到繁杂的文档规和编制中去;而第三种定义较为适中。其中:测试计划在系统分析/设计阶段提交,着重定义测试的资源、围、容、安排、通过准则等;测试说明在测试计划明确后开始编制,针对软件需求和设计要求具体定义测试用例和测试规

软件测试技术经典教程

第一章软件测试基本概念 1.1软件是计算机中与硬件相结合的一部分,包括程序和文档 软件=程序+文档 1.2软件的分类 1.2.1按功能划分 系统软件 应用软件 1.2.2按技术架构划分 单机版软件 C/S结构软件 B/S结构软件 1.2.3按用户划分 产品软件 项目软件 1.4什么事软件测试 使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检查它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 1.5.1什么是测试环境 测试环境=软件+硬件+网络 1.5.2怎样搭建测试环境 搭建测试环境的要点: 1.真实尽量模拟用户的真实使用环境 2.干净测试环境中尽量不要安装其他与被测试软件无关的软件 3.无毒测试环境没有中毒 4.独立测试环境和开发环境独立 1.5.3软件环境的分类 软件开发环境 软件生产运行环境 1.6.1什么是测试用例 测试用例=输入+输出+测试环境 输入包括测试数据和操作步骤 输出期望结果 测试环境系统环境设置 1.6.3编写测试用例的注意事项

开发生命周期 需求分析= 〉概要设计=〉详细设计=〉编码=〉维护 测试生命周期 测试计划=〉测试设计==============〉测试执行=〉测试评估

第二章软件测试分类 2.1黑盒测试和白盒测试 2.2静态测试和动态测试 静态测试,不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。即静态测试包括代码测试、界面测试和文档测试。 2.3单元测试、集成测试、系统测试和验收测试 桩模块,指模拟被测模块所调用的模块 驱动模块,指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。 2.3.3系统测试和验收测试 单元、集成、系统、验收测试比较 单元测试最小模块,如函数、类等《详细设计》白盒测试工程师或开发人员主要采用白盒测试 集成测试模块间的接口,如参数传递《概要设计》白盒测试工程师或开发人员黑盒和白盒测试相结合 系统测试整个系统,包括软硬件《需求规格说明书》黑盒测试工程师黑盒测试验收测试整个系统,包括软硬件《规格需求说明书》,验收标准主要为用户,还可能有测试工程师等黑盒测试 2.4.1功能测试 功能测试,是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。 1.逻辑功能测试 2.界面测试 3.易用性测试 4.安装测试 5.兼容性测试 2.4.2性能测试 性能测试是软件测试的高端领域,性能测试工程师的待遇和白盒测试工程师不相上下,通常我们所说的高级软件测试工程师一般就指性能测试工程师或是白盒测试工程师。 1.一般性能测试让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。 2.稳定性测试也叫可靠性测试,是指连续运行被测系统,检查系统运行时的稳定程度。 3.负载测试是性能测试的一种,通常是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。 4.压力测试是性能测试的一种,通常是指连续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。 2.5回归测试、冒烟测试、随机测试 回归测试,是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。 冒烟测试,是指对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。

相关主题
文本预览
相关文档 最新文档