面试题

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

参考答案:兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。

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

  参考答案:

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

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

3、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务; 如 果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;

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

3、测试的策略有哪些?

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

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

参考答案:

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

对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。

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

参考答案:  就是Bugzilla的状态转换图。

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

参考答案: 界面不稳定;根据需要配置它的不同的部分,过程很烦琐。流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;没有综合的评分指标,不好确认修复的优先级别。

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

参考答案:  需求分析 + 需求变更的维护工作; 根据需求得出测试需求;设计测试方案,评审测试方案;方案评审通过后,设计测试用例,再对测试用例进行评审;

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

参考答案:

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

9、LoadRunner分哪三部分?

参考答案:用户动作设计;场景设计;测试数据分析;

10、LoadRunner进行测试的流程?

参考答案:

1、测试测试

2、创建虚拟用户脚本

3、创建运行场景

4、运行测试脚本

5、监视场景

6、分析测试的结果以上,最好是结合一个案例,根据以上流程来介绍。

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

参考答案:

  在同一时间点,支持多个不同的操作。LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟

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

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


13、bug的生命周期

测试人员发现bug->New(新建),测试组长确认bug是否Duplicate(重复),如果重复Abandon(废弃),如果不重复Open(打开),指派给开发经理确认是否Reject(拒绝),不拒绝确认是否postpone(延期),不延期Assign(分配)给开发人员fixed(修复),如果拒绝指派给CCB(变更控制委员会)审查(Reviewed)通过(passed)指派给开发人员fixed(修复),修复完成Building,测试人员Validate(验证),验证不通过Reopen(重新打开),验证通过,close(关闭),审查不通过Abandon。

14、软件生命周期

软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。

15、测试项目:电梯

需求测试:查看电梯使用说明书、安全说明书等

界面测试:查看电梯外观

功能测试:测试电梯能否实现正常的上升和下降功能.电梯的按钮是否都可以用;

电梯门的打开,关闭是否正常;报警装置是否可用,报警电话是否可用;

通风状况如何.突然停电时的情况;是否有手机信号;

比如说上升途中的响应。电梯本来在1楼,如果有人按18楼,那么电梯在上升到5楼的时候,有人按了10楼,这时候是否会在10楼先停下来;

电梯下降到10层时显示满员,此时若8层有人等待电梯,是否在8层停;

可靠性:门关上的一刹那出现障碍物,同时按关门和开门按钮,点击当前楼层号码,多次点击同一楼层的号码等等;同时按上键和下键会怎样;

易用性:电梯的按钮的设计符合一般人使用的习惯吗.

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

压力测试:看电梯的最大限度的承受重量.在负载过重时报警装置是否有提醒.在一定时间内不断的让电梯上升,下降.最大负载下平稳运行的最长时间。

16、测试项目:杯子

需求测试: 查看杯子使用说明书

界面测试: 查看杯子外观

功能度:用水杯装水看漏不漏;水能不能被喝到

安全性:杯子有没有毒或细菌

可靠性:杯子从不同高度落下的损坏程度

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

疲劳测试:将杯子盛上水(案例一)放24 小时检查泄漏时间和情况;盛上汽油(案例二)放24 小时检查泄漏时间和情况等

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

跌落测试:    杯子加包装( 有填充物), 在多高的情况摔下不破损

震动测试: 杯子加包装( 有填充物), 六面震动, 检查产品是否能应对恶劣的铁路\ 公路\ 航空运输

测试数据:测试数据具体编写此处略(最讨厌写测试数据了)。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法

期望输出:该期望输出需查阅国标、行标以及使用用户的需求 

17、测试题目:桌子

需求测试:查看国家相关标准。

功能:桌子是办公,或者放置用的,首先考虑桌子的面积大小是否适度.

界面:桌子的版面是否平滑,桌子有没有凹凸不平的地方

安全:桌子肯定有它的支撑点,若支撑点不稳,容易摔坏物品,使用起来也不方便.

易用:桌子的移动性好不.它的重量是否合适

可靠性:将桌子推倒后,再检查桌子是否很容易被损坏.

性能:将很重的物品放在桌子上,看它最大承受的重量是多少...

19、测试题目:洗衣机

功能测试:该洗衣机是否能正常的洗衣服 

需求测试:查看洗衣机的使用说明书和安全说明书等 

性能测试:使用时用电量如何,是否满足用户需求

界面测试:洗衣机的外观是否满足客户的需求

易用测试: 该洗衣机是否容易操作

兼用性测试:该洗衣机除了能洗衣服以外还能洗别的吗

安全性测试:该洗衣机通电以后人接触以后是否有电

负载测试:通过逐步增加系统负载,最终确定在什么负载条件下系统性能将处于崩溃状态,以此获得系统能提供的最大服务

压力测试:通过逐步增加系统负载,最终确定在什么负载条件下系统性能将处于崩溃状态,以此获得系统能提供的最大服务级别的测试。

稳定性测试:加到一定的衣服然后过一段时间看洗衣机是否正常洗;

20、软件验收测试的合格通过准则:

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

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

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

④、验收测试工件齐全。

21、软件实施活动的进入准则:

①、需求工件已经被基线化;

②、详细设计工件已被基线化;

③、构架工件已被基线化。

22、比较负载测试和强度测试的区别:

负载测试:在一定的工作负荷下,系统的负荷及响应时间;

强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响;

23、描述软件测试活动的生命周期:

测试周期分为计划、设计、实现、执行、总结。

计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;

设计:完成测试方案,从技术层面上对测试进行规划;

实现:进行测试用例和测试规程设计;

执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例;

总结:记录测试结果,进行测试分析,完成测试报告;

24、测试的目的:

测试的目的:软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。

25、测试流程依次如下:

1.需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team

2.测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等。---testing leader or testing manager

3.用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testing leader, senior tester

4.执行测试:根据测试用例的详细步骤,执行测试用例。--every tester(主要是初级测试人员)

5.执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--every tester(主要是初级测试人员)

6.defect tracking:追踪leader分配给你追踪的bug.直到 bug fixed。--every tester

7.测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug.

8.用户体验、软件发布等……

跟双V模型差不多

26、敏捷开发有如下特征:

1. 工作在小的团队中

2. 团队是跨功能的-包括测试人员,开发人员,文档开发人员等等

3. 短迭代-利用短迭代方法来交付软件

4. 相较于文档,敏捷开发更注重面对面的交流

5. 敏捷不是一个过程,而是一个软件开发的形式或者方法

6. 敏捷可以与软件过程如CMMI等一起实施

27、测试用例包括:

用例编号、测试项目、测试标题、预置条件、重要级别、输入、执行步骤、预期输出;(作者 备注)

你可能感兴趣的:(面试题)