软件测试试题 复习题
1. 什么是软件测试? 软件测试的目的?
参考答案:
软件测试定义:
Myers (1979)定义测试是执行程序的过程,其目的是发现错误。
IEEE标准610.12 (IEEE, 1990)给出了两个更为规范、约束的测试定义:
(1)在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价;
(2)分析某个软件项以发现现存的和要求的条件之差别(即错误)并评价此软件项的特性。
目的:
Myers[MYE79]是这样来描述软件测试的目的:
“测试是程序的执行过程,目的在于发现错误;
一个好的测试用例具有很高的可能性发现至今尚未发现的错误;
一个成功的测试是指发现了至今尚未发现的错误”。
Bill Hetzel[HET93]提出了:
测试目的不仅仅是为了发现软件缺陷与错误,而且也是对软件质量进行度量和评估,以提高软件的质量。
测试的目的是要以最少的人力、物力和时间 找出软件中的各种错误与缺陷,通过修正各种错误与缺陷提高软件质量,避免软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的经济风险。
2. 软件测试原理?软件测试过程?
参考答案:
原理:
所有的测试都应追溯到用户需求
测试计划的制定应先于测试的执行
帕累托法则适用于软件测试(软件发现的错误中,有80%很可能来源于20%的程序模块) 软件测试应从“小规模”开始,然后扩展到“大规模”
完全测试是不可能的
要使得测试更为有效,测试应由第三方进行
过程:
软件测试是一个复杂的过程,通常包括以下基本的测试活动:
拟定软件测试计划,编制软件测试大纲,设计和生成测试用例,实施测试,分析测试结果
3. 测试分为哪些类型?
参考答案:
软件测试按照开发阶段可划分为:
单元测试,集成测试,确认测试,系统测试,验收测试
软件测试按照技术可划分为:
白盒测试,黑盒测试,灰盒测试
软件测试按照执行状态可划分为:
静态测试,动态测试
软件测试按照执行组织可划分为:
开发方测试,用户测试,第三方测试
4. 白盒测试?及其分类?
参考答案: