软件测试经典面试题

1、什么是兼容性测试?兼容性测试侧重哪些方面?

参考答案:

兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即通常说的软件的可移植性。

兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。

兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。

兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。

 

2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?

参考答案:

1)检查系统是否有中毒的特征;

2)检查软件/硬件的配置是否符合软件的推荐标准;

3)确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;

4)如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;

5)在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。

 

3、测试的策略有哪些?

参考答案:

黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)

 

4、正交表测试用例设计方法的特点是什么?

参考答案:

用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;

对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;

具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。

 

5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪管理的流程?

参考答案:

就是Bugzilla的状态转换图。

 

6、你觉得bugzilla在使用的过程中,有什么问题?

参考答案:

界面不稳定;

根据需要配置它的不同的部分,过程很烦琐。

流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;

没有综合的评分指标,不好确认修复的优先级别。

 

7、描述测试用例设计的完整过程?

参考答案:

需求分析 + 需求变更的维护工作;

根据需求得出测试需求;

设计测试方案,评审测试方案;

方案评审通过后,设计测试用例,再对测试用例进行评审。

 

8、单元测试的策略有哪些?

参考答案:

逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、静态数据流分析

 

9、LoadRunner分哪三部分?

参考答案:

用户动作设计;

场景设计;

测试数据分析。

 

10、LoadRunner进行测试的流程?

参考答案:

1)创建虚拟用户脚本

2)创建运行场景

3)运行测试脚本

4)监视场景

5)分析测试的结果

最好是结合一个案例,根据以上流程来介绍。

 

11、什么是并发?在loadrunner中,如何进行并发的测试?集合点失败了会怎么样?

参考答案:

在同一时间点,支持多个不同的操作。

LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。

集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作。集合点失败,则集合点的操作就会取消,测试就不能进行。

 

12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作?

参考答案:

分析用户登录的基本情况,得出一组数据,通过性测试/失败性测试的都有(根据TC来设计这些数据),然后录制登录的脚本,将关键的数据参数化,修改脚本,对代码进行加强,调试脚本。

 

13、QTP中的Action有什么作用?有几种?

参考答案:

Action的作用

1、      用Action可以对步骤集进行分组

2、      步骤重组,然后被整体调用

3、    拥有自己的sheet

4、     组合有相同需求的步骤,整体操作

5、      具有独立的对象仓库

Action的种类

1、       可复用Action

2、       不可复用Action

3、    外部Action

 

14、TestDirector有些什么功能,如何对软件测试过程进行管理?

参考答案:

 需求管理

1、      定义测试范围

2、      定义需求树

3、      描述需求树的功能点

测试计划

1、      定义测试目标和测试策略。

2      分解应用程序,建立测试计划树。

3      确定每个功能点的测试方法。

4     将每个功能点连接到需求上,使测试计划覆盖全部的测试需求。

5     描述手工测试的测试步骤

6     指明需要进行自动测试的功能点

测试执行

1     定义测试集合。

2      为每个测试人员制定测试任务和测试日程安排。

3       运行自动测试。

缺陷跟踪

1      记录缺陷

2     查看新增缺陷,并确定哪些是需要修正的

3     相关技术人员修改缺陷

4       回归测试

5       分析缺陷统计图表,分析应用程序的开发质量。

 

15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)?

参考答案:Compatibility Testing(兼容性测试),也称“Configuration testing(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情况。

Functional testing (功能测试),也称为behavioral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。

Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。


你可能感兴趣的:(软件测试面试宝典)