软件工程与软件测试技术(3)

2020-04-16 12:12

38. 随机测试:(参考教材第118页)(4.2) 39. 疲劳强度测试:(参考教材第146页)(5.2) 40. 灰盒测试:(参考教材第17页)(1.2) 41. 前置测试模型:(参考教材第26页)(1.3) 42. 正交实验法:(参考教材第112页)(4.2) 43. 软件性能测试:(参考教材第141页)(5.1) 44. 基本路径测试法:(参考教材第93页)(3.3)

(二) 问答题

1.软件生命周期都包括哪些阶段,简述每个阶段的任务。

★考核知识点:软件生命周期(2.1)

参考答案:软件生命周期包括问题的定义,可行性分析,需求分析,概要设计,详细设计,编码,测试,维护8个阶段。

问题定义阶段必须回答的关键问题是:“要解决的问题是什么?” 可行性研究阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”

需求分析阶段的任务是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。

概要设计阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”

详细设计阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。 编码阶段关键任务是写出正确的容易理解、容易维护的程序模块。

测试阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。 维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。

2.简述快速原型模型的特点、优点、缺点、适用场合。

★考核知识点:快速原型模型,参考课程课件(1.1)

参考答案:所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。 快速原型模型主要优点:(1) 原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。(2) 开发人员通过建立原型系统已经学到了许多东西,因此在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。 缺点:1)用户有时误解了原型的角色,例如他们可能误解原型应该和真实系统一样可靠。2)缺少项目标准,进化原型方法有点像编码修正。3)缺少控制,由于用户可能不断提出新要求,因而原型迭代的周期很难控制。4)额外的花费:研究结果表明构造一个原型可能需要10%额外花费。5)原型法要求开发者与用户密切接触,有时这是不可能的。例如外包软件。 适用场合:1)适用于用户驱动的系统,即需求模糊或随时间变化的系统;2)已有产品或产品的原型,只需客户化的工程项目;3)简单而熟悉的行业或领域;4)有快速原型开发工具;5)进行产品移植或升级

3.什么是V模型?简述V模型在软件测试过程中的作用,以及在V模型中各个测试阶段和

开发过程的对应关系。

★考核知识点:V模型(2.3)

参考答案:

? V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系 。 ? 从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在

的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系 。 ? 左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测

试过程的各个阶段。

? V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软

件测试”的原则

4. 请说明软件工程方法学都包含哪些要素?简要说明目前使用最广泛的两种软件工程方

法学。

★考核知识点:软件工程方法学(1.1)

参考答案:软件工程方法学包含3个要素:方法、工具和过程。其中方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。 传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。

与传统方法相反,面向对象方法把数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。

5. NextDate函数包含三个变量:month、day和year,函数的输出为输入日期后一天的日

期。 例如,输入为2008年8月7日,则函数的输出为 2008年8月8日。请用边界值分析法设计测试用例。

★考核知识点:边界值分析方法的应用(4.2)

参考答案:在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。 则测试用例选择如下:

6.什么是W模型?请详细论述其特点。

★考核知识点:软件测试模型(2.3)

参考答案:W模型由Evolutif公司提出,相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。W模型强调:测试伴随着整个软件开

发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。

W模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。

但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。

7.什么是逻辑覆盖测试?逻辑覆盖都有哪些类型?

★考核知识点:逻辑覆盖测试, (3.3)

参考答案:逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖。它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。 从覆盖源程序语句的详尽程度分析,逻辑覆盖标准包括: ? 语句覆盖 ? 判定覆盖 ? 条件覆盖

? 条件判定组合覆盖 ? 多条件覆盖

? 修正条件判定覆盖

8. 加法器程序计算两个1~100之间整数的和。请用边界值分析法设计测试用例

★考核知识点:边界值分析的应用(4.2)

参考答案:1.等价类划分

9. 请说明测试的目的、原则与对象

★考核知识点:软件测试的目的、原则和对象(2.1)

参考答案:软件测试的目的: 1)是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。

2)是确认软件的质量,软件做了所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right) 3)是为开发过程提供反馈信息,协助开发过程的改进:软件测试不仅是在测试软件产品本身,还包括软件开发的过程。软件测试的第三个目的是保证整个软件开发过程的高质量。

4)软件质量评估:软件测试是以评价一个程序或系统属性为目标的一种活动,是对软件质量的度量与评估,以验证软件的质量满足用户的需求,为用户选择与接收软件提供有力的依据。

软件测试的原则

1) 所有的软件测试都应追溯到用户需求

2) 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。

3) 完全测试是不可能的,测试需要终止 4) 软件测试无法显示软件潜在的缺陷 5) 充分注意软件测试中的群集现象 6) 程序员应避免检查自己的程序 7) 尽量避免测试的随意性

8) 妥善保存一切测试过程文档。

软件测试的对象:需求规格说明、概要设计规格说明、详细设计规格说明、源程序 。


软件工程与软件测试技术(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:模具拆装实验实验二

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: