admin 管理员组

文章数量: 1086019


2024年3月21日发(作者:硅谷动力网络教程)

器械企业qa面试问题及答案

1、什么是软件测试?

软件测试是在规定的条件下对程序进行操作,以发现错误,对软

件质量进行评估。

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

软件测试的目的在于(1)发现软件的缺陷和错误(2)保证软件

的质量,确保能够满足用户以及产品的需求。软件测试的目的是为了

找bug,并不是为了验证软件没有bug。

3、白盒测试用例设计常用方法?

静态测试:不用运行程序的测试,如文档测试、代码检查等

动态测试:需要执行代码,接口测试、覆盖率分析、性能分析、

内存分析等。

逻辑覆盖法:主要包括语句覆盖,判断覆盖,条件覆盖,判断/

条件覆盖,条件组合覆盖,路径覆盖等。

六种覆盖标准发现错误的能力由弱到强的变化:

语句覆盖,每条语句至少执行一次。

判断覆盖,每个判断的每个分支至少执行一次。

条件覆盖,每个判断的每个条件应取到的各种可能的值。

判断/条件覆盖,同时满足判断覆盖条件覆盖。

条件组合覆盖,每个判定中各条件的每一种组合至少出现一次。

路径覆盖,使程序中每一条可能的路径至少执行一次。

4、黑盒测试用例设计常用方法?

等价划分类,边界值分析,错误推测法、因果图法、场景法、正

交试验设计法、判定表驱动分析法、功能图分析法等。

5、什么是灰盒测试?

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测

试多用于集成测试阶段。目前互联网的测试大多数都是灰盒测试。

6、列举出你所了解的软件测试方式?

按照软件的生命周期划分:单元测试、集成测试、系统测试、回

归测试、验收测试。

按照测试关注点划分:功能测试、性能测试、稳定性测试、易用

性测试、安全性测试。

按照测试实施者划分:开发方测试(α测试)、用户测试(β测

试)、第三方测试。

按照技术/测试用例设计划分:白盒测试、黑盒测试、灰盒测试。

按照分析方法划分:静态测试、动态测试。

按照测试执行方式划分:手工测试、自动化测试。

按照测试对象划分:程序测试、文档测试。

7、什么是单元测试?

答:完成最小的软件设计单元(模块)的验证工作,确保模块被

正确编码。通常情况下是白盒的,对代码风格和规则、程序设计和结

构、业务逻辑等进行静态测试,及早发现和解决不易显现的错误。

8、单元测试、集成测试、系统测试、验收测试、回归测试这几

步最重要的是哪一步?

答:这些测试步骤分别在软件开发的不同阶段对软件进行测试,

我认为对软件完整功能进行测试的系统测试很重要,因为此时单元测

试和集成测试已完成,系统测试能够对软件所有功能进行功能测试,

能够覆盖系统所有联合的部件,是针对整个产品系统进行的测试,能

够验证系统是否满足需求规格的定义,因此,我认为系统测试很重要。

9、集成测试和系统测试的区别,以及应用场景分别是什么?

区别:

执行顺序:先执行集成测试,待集成测试问题修复后,再做系统

测试。

用例粒度:集成测试比系统测试用例更详细,集成测试对于接口

部分也要重点写,而系统测试的用例更接近用户接受的测试用例。

应用场景:

集成测试:一般包含接口测试,对程序的提测部分进行测试。测

试方法一般选用黑盒测试和白盒测试相结合。

系统测试:针对整个产品的全面测试,既包含各模块的验证性测

试和功能性测试,又包含对整个产品的健壮性、安全性、可维护性及

各种性能参数的测试。测试方法一般采用黑盒测试法。

10、测试开发需要哪些知识?具备哪些能力?

需要的知识:

软件测试基础理论知识,如黑盒测试、白盒测试等;

编程语言基础,如C/C++、java、python等;

自动化测试工具,如Selenium、Appium等;

计算机基础知识,如数据库、Linux、计算机网络等;

测试卡框架,如JUnit、Pytest、Unittest等。

具备的能力:

业务分析能力、缺陷洞察能力、团队协作能力、专业技术能力、

逻辑思考能力、问题解决能力、沟通表达能力和宏观把控能力

11、请说一下手动测试与自动化测试的优缺点

手工测试缺点:

重复的手工回归测试,代价昂贵、容易出错。

依赖于软件测试人员的能力。

手工测试的优点:

测试人员具有经验和对错误的猜测能力。

测试人员具有审美能力和心理体验。

测试人员具有是非判断和逻辑推理能力。

自动化测试的缺点:

不能取代手工测试。

无法运用在测试复杂的场景

手工测试比自动化测试发现的缺陷更多。

对测试质量的依赖性极大。

自动化测试不能提高有效性。

比手动测试脆弱,需要维护成本。

工具本身并无想象力。

自动化测试的优点:

对程序的回归测试更方便。

可以运行更多更繁琐的测试。

可以执行一些手工测试困难或不可能进行的测试。

更好地利用资源。

测试具有一致性和可重复性。

测试的复用性。

增加软件的信任度。

12、自动化测试的运用场景举例

线上回归(UI+接口)

手工测试难以执行的操作

简单场景监控

稳定性测试(monkey+遍历测试)

13、软件测试的核心竞争力是什么?

答:早发现问题和发现别人无法发现的问题。


本文标签: 测试 能力 覆盖 系统 集成