三、问答题
1. 测试人员在软件开发过程中的任务是什么?

a. 参与需求分析;
b. 编写测试用例;
c. 寻找Bug;
d. 避免软件开发过程中的缺陷;
e. 衡量软件的品质;
f. 关注用户的需求。
总的目标:确保软件质量。

 

2.  在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
 

答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。

 

3. 软件缺陷的等级应如何划分?

1)致命错误:造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。
2)严重错误:系统主要功能部分丧失,数据库保存调用错误,用户数据丢失,以及功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启,自动退出,关联程序间调用冲突,安全问题、稳定性等。
3)一般错误:功能没有完全实现但不影响使用,功能菜单存在缺陷但不影响系统稳定性。
4)建议问题:界面,性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等。如:错别字、界面格式不规范,页面显示重叠、不该显示的要隐藏,描述不清楚,提示语丢失,文字排列不整齐,光标位置不正确,用户体验感受不好,可以优化性能的方案等。

 

4.  黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!

  答:黑盒测试的优点有:
  1)比较简单,不需要了解程序内部的代码及实现;
  2)与软件的内部实现无关;
  3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
  4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
  5)在做软件自动化测试时较为方便。
  黑盒测试的缺点有:
  1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
  2)自动化测试的复用性较低。
  白盒测试的优点有:
  帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。


  白盒测试的缺点有:
  1)程序运行会有很多不同的路径,不可能测试所有的运行路径;
  2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
  3)系统庞大时,测试开销会非常大。

 

5. 如果完美执行黑盒测试,还需要进行白盒测试吗?

软件的黑盒此时意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试 又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
a. 是否有不正确或遗漏的功能?
b. 在接口上,输入是否能正确的接收?能否输出正确的结果?
c. 是否有数据结构错误或外部信息(例如数据文件)访问错误?
d. 性能上是否能够满足要求?
e.是否有初始化或终止性错误?
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期状态一直,因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是相对程序模块进行如下检查:
a. 对程序模块的所有独立的执行路径至少测试一遍。
b. 对所有的逻辑判定,取‘真’与取‘假’的两种情况都能至少测一遍。
c. 在循环的边界和运行的界限内执行循环体。
d. 测试内部数据结构的有效性,等等。

 

6. 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。(初级)(5分)

  答:软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。
  软件测试一般分为单元测试、集成测试和系统测试。

 

7. 根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?

  答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。
  测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。
  设计测试用例应当从以下几方面考虑:边界值,等价类划分,有效/无效值等。

 

8. 什么是软件质量保证?软件质量保证人员与开发人员的关系如何?

  答:软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。
  软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题

 

9. 软件开发过程中测试人员常遇到的问题:
  1. 需求变化太多太乱,相关文档没有随之更新,文档与项目实际功能不相符;造成很多时候最新的需求都只是藏在个别人的脑中,而测试人员总是最后一个知道需求变化的人。
    改进建议:能够建立需求变更体系,到什么阶段必须停止需求变更(必须在项目前期就让需求提出人明确这一点);每次需求变更必须让需求提出人员确认,需求变化后必须有专人更新相关文档(这些文档都是测试人员编写计划及用例的依据);并能知会相关人员,这样才能做到程序人员修改响应的程序,测试人员修改响应的用例,且能对需求变更后的程序进行正确的测试。

     

10. 什么是冒烟测试?

使用较少的人但经验较丰富,在较短的时间内测试整个系统的主要功能、主要业务流程是否实现,是否稳定。

11. 测试结束的标准?

a.模块测试用例执行完毕,覆盖了全部软件需求;
b.缺陷收敛趋势符合质量要求;
c. 缺陷修复率达到产品设计人员的需求;
d. 达到预先的缺陷度量原则

 

四、逻辑题
1. 一个蛋糕平均分成8等份,并分别给8个人,请问还剩下一块蛋糕,是怎么分的?

答:平均分成8份,前边7个人拿走7块,最后一个人把盒子里的蛋糕一起拿走。

2. 有20个人要到河的对岸去,河边只有1条小船,船上每一次只能只能坐5人,小船至少要载( )次,才能过河。

答:每次只能有5-1=4(个)人过河,那么,小船至少要载20÷4=5(次)才能全部过河。

3.  根据前四个图形找规律,找出第五个图。图片如下

看图找规律

分析:
图中有两种图形,一种是三角形,有两个;一种是五角形,有两个;
三角形的要求是,两个三角形都贴边,但不能在同一行或同一列上;
五角形的要求是,一是两个五角形都不贴边,必须在同一行或同一列上;二是一个五角形在角上,另一个五角形不能在同一行或同一列上,也不能在斜线上;

图A
一个五角形在角上,另一个五角在同一行上,所以不符合要求;
图B
一个三角形贴边,另一个三角形不贴边,所以也不符合要求;
图C
一个三角形贴边,另一个三角形不贴边;
两个五角形都不贴边,且不在同一行或同一列上,两者都不符合要求;
图D
两个三角形都贴边,且不在同一行或同一列上;
一个五角形在角上,另一个五角形也不在同一行或同一列上,也不在斜线上;所以答案应是D.