初级软件测试面试必备知识考点

4)接受被测单元的执行结果,并对结果进行判定;

5)将判断结果作为用例执行结果输出测试报告;

桩模块:比如对函数A做单元测试的时候,被测的函数单元下还包括了也函数B,为了更好地定位错误,就要为B写桩,来模拟函数B的功能,保证其正确性。

14、各种测试所针对的问题

1)单元测试:是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。他是软件动态测试的最基本部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。

2)集成测试:是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。

3)系统测试:系统测试是对已经集成好的软件系统进行彻底的测试,已验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,他被称为测试的“先知者问题”。

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

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

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

1)要更好的管理缺陷,必须引入缺陷管理工具,商用的或者开源的都可以。

2)根据缺陷的生命周期,考虑缺陷提交的管理、缺陷状态的管理和缺陷分析的管理。

3)所有发现的缺陷(不管是测试发现的还是走读代码发现的)都必须全部及时的、准确的提交到缺陷管理工具中。

4)缺陷提交后,需要及时的指派给相应的开发人员,提交缺陷的人需要密切注意缺陷的状态,帮助缺陷尽快解决。缺陷解决后需要及时对缺陷的修复进行验证。这样的目的有两个:一个是让缺陷尽快解决;二是方便后面缺陷的分析(保证缺陷相关的信息准确,如龄期等)。

5)为了更好地改进开发过程和测试过程,需要对缺陷进行分析,总结如缺陷的类别、缺陷的龄期分布等信息,这是缺陷分析的管理。

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

单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试的重点是系统的模块,包括子程序的正确性验证等。

集成测试也叫组装测试或联合测试,在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或者系统,进行集成测试。实践表明,一些模块虽然能够单独的工作,但并不能保证连接起来也能正常的工作。程序在某些局部反应不出来的问题,在全局上很可能暴露出来,影响功能的实现。测试的重点是模块间的衔接以及参数的传递等。

系统测试是将经过测试的子系统装配成一个完整的系统来测试,他是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。测试重点是整个系统的运行以及与其他软件的兼容性。

17、测试用例的方法、依据有哪些?

白盒测试用例设计有如下方法:基本路径测试、等价类划分、边界值分析、覆盖测试、循环测试、数据流测试、程序插桩测试、变异测试,这时候一句就是详细设计说明书及其代码结构

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

18、测试用例通常包含哪些内容?(着重阐释编制测试用例的具体做法不同结构的用例包括的不一样(版本、编号、项目、设计人员、设计日期、输入、预期输出。。。))

软件测试用例的基本要素包括测试用例的编号、测试标题、重要级别、测试输入、操作步骤、预期结果。

用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:

PROJECT1-ST-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例的跟踪。

测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如:“测试用户登录时输入错误密码时,软件的响应情况”。重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件的优先级别为“高”;反之亦然,测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好地定义需求的输入,那么测试用例设计中将会遇到很大的障碍。

操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。

预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之测试通过。

1、描述使用bugzilla(JIRA、禅道、Redmine或者QC)缺陷管理工具对软件缺陷(BUG)跟踪的管理流程

1)测试人员或开发人员发现bug之后,判断属于哪个模块的问题,填写Bug报告后,系统会自动通过Email通知项目组长或直接通知开发者。

2)验证无误后,修改状态为VERIFIED,待整个产品发布后,修改为CLOSED。

3)还有个问题,REOPENED,状态重新改变为“New”,并发邮件通知。

4)项目组长根据具体情况,重新reassigned分配给bug所属的开发者。

5)若是,进行处理,resolved并给出解决方法。(可创建补丁附件及补充说明)

6)开发者收到Email信息后,判断是否为自己的修改范围

7)若不是,重新reassigned分配给项目组长或应该分配的开发人员。

8)测试人员查询开发者已修改的bug,进行重新测试。

19、为什么想做测试不做开发?

这个问题几乎是所有面试官必问的,没有什么标准答案,但是切记不要说是因为觉得测试比开发简单又或者测试不用写代码之类的。

上一页12下一页


留言