欢迎你~~~

企业面试试卷及答案

上一篇 / 下一篇  2008-09-14 13:35:14

1.      什么是测试用例什么是测试脚本两者的关系是什么?

2.      简述什么是静态测试、动态测试、黑盒测试白盒测试α测试β测试

3.      软件质量保证体系是什么国家标准中与质量保证管理相关的几个标准是什么?他们的编号和全称是什么?

4.      软件产品质量特性是什么?

5.      软件测试的原则与策略是什么?

6.      结构化系统测试和功能性系统测试分别采用了哪些方法和技术?

7.      软件测试分为几个阶段各阶段的测试策略和要求是什么?

8.      面向对象的测试用例设计有几种方法?如何实现?

9.      在软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容?

***********************************************************

1、 答案如下:

a)        为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。

b)       测试脚本是为了进行自动化测试而编写的脚本。

c)       测试脚本的编写必须对应相应的测试用例,

2、 答案如下:

a)        静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。

b)       动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。

c)       黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。

d)       白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。

e)        α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。

f)        β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

3、 答案如下:

a)        来自WikipediaSQA的定义,软件质量保证(SQA):

Software Quality Assurance (SQA) consists of the software engineering processes and methods used to ensure quality. SQA encompasses the entire software development process, which may include processes such as reviewing requirements documents, source code control, code reviews, change management, configuration management, release management and of course, software testing.

SQA由一套软件工程过程和方法组成,以保证(软件的)质量。SQA贯穿整个软件开发过程,()应包括需求文档评审、代码控制、代码评审、变更管理、配置管理、版本管理和软件测试。

b)       国家标准:

                        i.             GB/T 8567-2006计算机软件文档编制规范

                      ii.             GB/T 11457-2006信息技术软件工程术语

                     iii.             GB/T 16260.1-2006软件工程 产品质量1部分:质量模型

                    iv.             GB/T 16260.2-2006软件工程 产品质量2部分:外部度量

                      v.             GB/T 16260.3-2006软件工程 产品质量3部分:内部度量

                    vi.             GB/T 16260.4-2006软件工程产品质量4部分:使用质量的度量

                   vii.             GB/Z 20156-2006软件工程 软件生成周期过程 用于项目管理的指南

                 viii.             GB/T 20157-2006信息技术软件维护

                    ix.             GB/T 20158-2006信息技术 软件生成周期过程 配置管理

4、 答案如下:

a)        功能性:适应性、准确性、互操作性、依从性、安全性。

b)       可靠性:成熟性、容错性、以恢复性。

c)       可使用性:易理解性、易学习性、易操作性。

d)       效率:时间特性、资源特性。

e)        可维护性:易分析性、易变更性、稳定性、易测试性。

f)        可移植性:适应性、易安装性、遵循性、易替换性。

5、 答案如下:

a)        软件测试的原则:

教材的说法:

                        i.             软件测试应尽早执行,并贯穿于整个软件生命周期

                      ii.             软件测试应追溯需求

                     iii.             测试应由第三方来构造

                    iv.             穷举测试是不可能的,要遵循Good-enough原则

                      v.             必须确定预期输出(或结果)

                    vi.             必须彻底检查每个测试结果

                   vii.             充分注意测试中的群集现象

                 viii.             缺陷的二八定理

                    ix.             严格执行测试计划,排除测试的随意性

                      x.             注意合法合理的输入,也要注意非法的非预期的输入

                    xi.             检查程序是否是否做了不该做的

                   xii.             测试应从“小规模”开始,逐步转向“大规模”

                 xiii.             反复使用同样的测试会使软件具有抵抗力

                 xiv.             关注缺陷的修复

另一种说法:

                        i.             应当把“尽早和不断地测试”作为开发者的座右铭。

                      ii.             程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。

                     iii.             设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。

                    iv.             一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。

                      v.             对测试错误结果一定要有一个确认的过程。一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。

                    vi.             制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。

                   vii.             回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。

                 viii.             妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。

b)       软件测试策略:在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。

6、 答案如下:

a)        结构化系统测试技术:用于验证所开发的系统及程序的运行情况。目标是要确保产品设计在结构上合理,功能上正确。为确定实现的配置及其各功能共同作用以完成特定任务提供了一种机制。结构化测试技术由以下几种:

                        i.             1)压力测试:确定系统以期望的容量执行。
压力测试技术用于检查系统面对意外情况下的大数据量时是否可以正常运行。所涉及的方面包括输入事务、内部表、磁盘空间、输出、通信、计算机容量以及人机交互等。
当应用系统所能正常处理的工作量并不确定时需要使用压力测试。压力测试意图通过对系统施加超负载事务量来达到破坏系统的目的。弱点在于准备测试的时间与在测试的实际执行过程中所消耗的资源数量都非常之大,通常在应用程序投入使用之前这种技术是无法进行的。

                      ii.             执行测试:系统能达到期望的熟练性。
举例:事务轮转时间充分;软硬件使用良好。
执行测试技术用于检查系统是否达到了预期在产品状态下的成熟度。执行测试可以验证系统的响应时间、轮转时间及设计性能。
在开发过程的早期就应该进行执行测试,尽早制定已经完成的系统没有达到性能指标是非常有价值的。在关键时间点进行。关键时间点指的是当前的结果会影响甚至改变系统结构的时间点。

                     iii.             恢复测试:系统失效之后可以恢复到可操作状态。
举例:引入失败;评估备份数据的充分性。
恢复测试技术用于确保系统在经历灾难后可以继续正常运行,它不仅可以验证恢复过程,而且可以验证过程各组件的有效性。

TAG:

引用 删除 yuqing_1982   /   2009-08-03 14:53:57
5
 

评分:0

我来说两句

日历

« 2024-04-29  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 5614
  • 日志数: 9
  • 建立时间: 2008-09-09
  • 更新时间: 2008-11-12

RSS订阅

Open Toolbar