软件测试常见问题

1、什么是软件测试?

为了发现错误而执行程序的过程。

2、软件测试的目的是什么?

以最少的人力、物力和时间,找出软件中隐藏的各种缺陷和错误,提高软件质量,避免商业风险。

3、什么是需求文档测试?

测试需求中是否存在逻辑矛盾,需求在技术上是否可以实现。

4、什么是设计文档测试?

测试设计是否符合全部需求,设计是否合理。

5、什么是α测试?

是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。

6、什么是β测试?

软件的多个用户在一个或多个用户的实际使用环境下进行的测试。不能由程序员或测试员完成。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。

7、什么是驱动模块?

驱动模块在大多数场合称为"主程序",它接收测试数据并将这些数据传递到被测试模块。

用于模拟被测试单元的上级模块,能够调用被测试模块。在测试过程中,驱动模块接受测试数据,调用被测试模块并将相关的数据传送给被测模块。

8、驱动模块的作用是什么?

1)接受测试输入;
2)对输入进行判断;
3)将输入传给被测单元,驱动被测单元执行;
4)接受被测单元执行结果,并对结果进行判断;
5)将判断结果作为用例执行结果输出给测试报告。

9、什么是桩模块?

用来模拟被测模块工作过程中所调用的下层模块。桩模块由被测模块调用,一般只有很少的数据处理。

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

运行被测试单元,为了隔离单元,根据被测试的接口,开发相应的驱动程序和桩程序。

10、什么是白盒测试?

白盒测试也称为结构化测试、基于代码的测试,是一种测试用例设计方法。它从程序的控制结构导出测试的用例,是针对被测单元内部如何进行工作的测试。白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。

11、什么是黑盒测试?

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

12、什么是静态测试?

通过评审文档、阅读代码等方式测试软件称为静态测试。静态测试方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

13、什么是动态测试?

通过运行程序测试软件称为动态测试。在动态测试中,通常使用白盒测试和黑盒测试从不同的角度设计测试用例,查找软件代码中的错误。

14、什么是回归测试?

在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。

15、白盒测试有哪几种方法?

代码检查法、静态结构分析法、静态质量度量法、 逻辑覆盖法 、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。

16、软件的缺陷等级应如何划分?

软件缺陷的等级可以用严重性和优先级来描述;
1)严重性:衡量缺陷对客户满意度影响的满意程度,分为
①致命错误,可能导致本模块以及其他相关的模块异常,死机等问题;
②严重错误,问题局限在本模块,导致模块功能失常或异常退出;
③一般错误,模块功能部分失效;
④建议模块,有问题提出人对测试模块的改进建议;
2)优先级:缺陷被修复的紧急程度;
①立即解决(P1级):缺陷导致系统功能几乎不能使用或者测试不能继续,需立即修复;
②高优先级(P2级):缺陷严重,影响测试,需优先考虑;
③正常排队(P3级):缺陷需要正常排队等待修复;
④低优先级(P4级):缺陷可以在有时间的时候被纠正;

17、白盒测试与黑盒测试的区别是什么?

1)黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
2)软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。
3)白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
4)软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

18、黑盒测主要为了发现什么错误?

1)是否有不正确或遗漏的功能。
2)在接口上,输入是否能正确的接受?能否输出正确的结果。
3)是否有数据结构错误或外部信息(例如数据文件)访问错误。
4)性能上是否能够满足要求。
5)是否有初始化或终止性错误。

19、白盒测主要对程序模块检查什么?

1)对程序模块的所有独立的执行路径至少测试一遍。
2)对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3)在循环的边界和运行的界限内执行循环体。
4)测试内部数据结构的有效性。

20、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?

1)首先,软件测试有一个致命的缺陷,即测试的不完全、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,在未发现错误时,不能说明程序中没有错误。因此不存在完美的黑盒测试。
2)其次,就算执行了完美的黑盒测试也是无法测试程序内部特定部位,另外当规格说明本身有误,也不能发现问题。
3)最后,而白盒测试能对程序的内部特定部位进行覆盖测试,所以黑盒和白盒测试为互补关系,结合起来进行测试用例的设计更为合理。经验表明,通常在进行单元测试时采用白盒测试方法,集成测试采用灰盒测试方法,系统测试采用黑盒测试方法。

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

1)大体上来说可分为单元测试,集成测试,系统测试,验收测试,
初始测试集中在每个模块上,保证源代码的正确性,该阶段成为单元测试, 接下来是模块集成和集成以便组成完整的软件包。集成测试集中在证实和程序构成问题上。
软件集成后,需要完成确认和系统测试。确认测试提供软件满足所有功能、性能需求的最后保证。确认测试仅仅应用黑盒测试方法。

软件测试有五个阶段:单元测试、集成测试、系统测试、验收测试、回归测试。每个阶段又分为以下五个步骤: 测试计划,测试设计,用例设计,执行结果,测试报告。
1)单元测试是对软件中的基本组成单元进行测试,如一个模块、一个过程等等,它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件最基本组成单元的正确性。主要用白盒测试方法。
2)集成测试是在软件系统集成过程中所进行的测试,其主要目的是检验软件各单位之间的接口是否正确。主要采用黑盒测试方法,辅之以白盒测试方法。
3)系统测试是对已经集成好的软件系统进行彻底的测试,已验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确。
4)验收测试旨在向软件的购买者展示该软件满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。

验收测试:分为α测试和β测试
α测试:是由测试人员,开发人员,内部人员对内部的一种测试。
β测试:是内测后的公测,最终交给用户测试。

5)回归测试是在软件的维护阶段,对软件进行修改之后进行的测试,其目的是检验对软件的修改是否正确。

22、什么是单元测试?

单元测试又称模块测试,针对软件设计中的最小单位——程序模块,进行正确性检查的测试工作。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。

23、什么是集成测试?

集成测试又称组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。重点测试不同模块的接口部分。

24、什么是系统测试?

系统测试指的是将整个软件系统看为一个整体进行测试,包括对功能、性能、以及软件所运行的软硬件环境进行测试。系统测试在系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,以及系统在不同的软硬件环境中的兼容性等。

25、什么是验收测试?

验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。

26、什么是回归测试?

回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。

27、针对缺陷采取怎样的管理措施?

1)引入缺陷管理工具。
2) 根据缺陷的生命周期,考虑缺陷提交的管理、缺陷状态的管理和缺陷分析的管理。
3)所有发现的缺陷都必须全部即时的、准确的提交到缺陷管理工具中,这是缺陷提交的管理。
4)缺陷提交后,需要及时的指派给相应的开发人员,提交缺陷的人需要密切注意缺陷的状态, 帮助缺陷的尽快解决。
5)缺陷解决后需要即时对缺陷的修复进行验证。
目的:①是让缺陷尽快解决;②是方便后面缺陷的分析。
6) 为了更好的改进开发过程和测试过程,需要对缺陷进行分析,总结缺陷的类别、缺陷的龄期分布等信息,这是缺陷分析的管理。

28、单元测试、集成测试、系统测试的侧重点是什么?

1)单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试重点是系统的模块,包括子程序的正确性验证等。
2)集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。测试重点是模块间的衔接以及参数的传递等。
3)系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。测试重点是整个系统的运行以及与其他软件的兼容性。

29、白盒测试用例设计的方法依据有哪些?

基本路径测试、边界值分析、覆盖测试、循环测试、数据流测试、程序插桩测试、变异测试。依据就是详细设计说明书及其代码结构。

30、黑盒测试用例设计的方法依据有哪些?

基于用户需求的测试、功能图分析方法、等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验设计方法。依据是用户需求规格说明书,详细设计说明书。

猜你喜欢

转载自blog.csdn.net/qq_48826058/article/details/124481125