开班信息

09年6月就业班热招中

 

咨询报名

电话:010 51656186
QQ1:139088480
QQ2:1060891615
QQ3:1051934582

 

软件测试Q&A

 

上一页                                     下一页

 

测试入门问答


Q:什么是软件测试?软件测试的目的是什么?
A:IEEE软件测试定义为:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差异。
该定义明确提出了软件测试以检验是否满足需求为目标。
软件测试的目的在于发现错误;一个好的测试用例在于发现从前未发现的错误;一个成功的测试是发现了从前未发现的错误的测试。 所以更为合适的定义是:测试是为发现错误而执行程序的过程。

 

Q:什么是软件缺陷?
A:满足下列五个规则之一才称为软件缺陷:
1)软件未达到产品说明书标明的功能。
2)软件出现了产品说明书指明不会出现的错误。
3)软件功能超出产品说明书指明的范围。
4)软件未达到产品说明书虽未指出但应该达到的目标。
5)软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。

 

Q:什么黑盒测试?黑盒测试方法都包括哪些?
A:黑盒测试意味着测试要在软件的接口处进行。是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。

黑盒测试方法包括:等价类划分、边界值分析、因果图分析、错误推测法、功能图分析等

 

Q:什么白盒测试?白盒测试方法包括哪些?
A:白盒测试是对软件的过程性细节做细致的检查。是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

白盒测试方法包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等

 

Q:软件测试策略都包含哪些?
A:根据软件测试工作的测试策略,一般将软件测试过程分为:单元测试、集成测试、系统测试、验收测试四个大的阶段。

 

Q:什么是单元测试?
A:单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。一个软件单元的正确性是相对于该单元的规约(详细设计)而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。

 

Q:什么是集成测试?
A:集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。

 

Q:什么是系统测试?
A:统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。

 

Q:什么是验收测试?
A:验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

 

Q:什么是自动化测试?

A:一般我们谈到的自动化测试,其实是有两种说法的,一种是Test Automation,翻译过来叫测试自动化,侧重说明将测试用自动化设计和实现的过程;另外一种是Automated Testing/Test,翻译过来叫自动化测试,侧重说明自动的测试软件,可以是自动测试软件的功能或者性能等。
表面上看两种是有区别的,但现在我们用的多了,在提到自动化测试时,也就不区分了,基本上代表了一个意思,即:自动化测试是通过工具(程序)来对软件进行测试,一般不需要人为干预或干预很少。

Automated Testing/Test Automation:
1、Testing employing software tools which execute tests without manual intervention. Can be applied in GUI, performance, API, etc. testing.
使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用得较多。
2、The use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.
使用软件来控制测试的执行,实际输出和预期输出的对比,测试前提条件的构建,以及其他测试控制条件和测试报告功能。通常,测试自动化涉及自动化对一个已经使用了正式的测验流程的手工过程。
显而易见,第二种定义具体,且涵盖了多数情况,特别是只提及软件,而不是一定是“自动化测试工具”,而且不一定自动化测试步骤才叫自动化测试,很多情况下测试前提条件的自动化也是很重要而且很值得自动化的。

 


 

 
 

软件测试学苑Test8848 版权所有◎北京世碁天创科技有限公司 北京市海淀区西直门高粱桥斜街59号长河湾2号楼312室

业务联系:010 51656186 传真:总机转808 电子邮件:info◎test8848.com