问答题
阅读以下有关软件工程开发的叙述,回答问题1至问题3,将答案填入对应栏内。
【说明】
V模型是在快速应用开发模型基础上演变而来的,由于将开发过程构造成一个V字型而得名,V模型强调软件开发的协作和速度,将软件实现和验证有机结合起来,在保证较高的软件质量情况下缩短开发周期,下图为V模型的完整诠释。
问答题
【问题1】
上图所示的V模型中,与开发阶段中概要设计对应测试阶段称为{{U}} (1) {{/U}}。在系统或配置项测试阶段处应采用{{U}}
(2) {{/U}}方法。请将(1)和(2)处的内容填入相应位置。 |
【正确答案】
【答案解析】(1)部件测试或组件测试 或 集成测试 (2)灰盒测试
[分析]
空(1)处对应概要设计,在软件工程中,以概要设计为测试依据的测试级别应为集成测试或部件测试。所以(1)处的正确答案应为部件测试,或组件测试,或集成测试。空(2)处的测试方法应为系统或配置项测试的测试方法,系统或配置项测试时,应该主要使用黑盒测试方法,但对一些特殊功能的测试还要对照代码使用白盒测试方法进行验证,所以应为灰盒测试方法。所以(1)处的正确答案应为灰盒测试。
问答题
【问题2】
请完成下面叙述,在(3)、(4)处填入恰当的内容,将解答填写在对应栏中。
从上图中水平对应关系看,左边是软件设计过程,右边是软件测试过程。在软件设计过程中,SQA应按{{U}} (3)
{{/U}}进行检查活动。在软件测试过程中,系统测试是基于{{U}} (4)
{{/U}}的测试。 |
【正确答案】
【答案解析】(3)质量保证计划 (4)需求 或软件需求,或软件需求规格说明
[分析]
在设计和分析过程中,SQA(Supplier Quality Assurance)的主要职责是进行质量保证活动,但SQA进行质量保证活动的依据为项目策划阶段制定的质量保证计划。所以(3)处的正确答案应为质量保证计划。
从上图可以看出,系统测试阶段的测试依据为软件需求规格说明,软件需求规格说明主要描述软件的功能需求、性能需求、接口需求等,它描述的每一条功能,在程序不一定有一段相应的代码对应,而可能由多个程序单元的部分代码实现。故不能进行基于代码的测试,而应进行基于需求的测试。所以(4)处的正确答案应为需求,或软件需求,或软件需求规格说明都可。
问答题
【问题3】
完成下面对V模型优点的论述,将答案填写在对应栏中。
1.客户需求分析对应验收测试。在进行需求分析、功能设计的同时,测试人员就可以阅读、审查分析结果,从而{{U}} (5)
{{/U}}。 2.系统设计人员做系统设计时,测试人员可了解实现的过程,可{{U}} (6)
{{/U}}。 3.设计人员做详细设计时,测试人员可参与设计,对设计{{U}} (7)
{{/U}},同时{{U}} (8) {{/U}},并基于用例开发测试脚本。
4.编码的同时进行单元测试,可尽快找出程序中的缺陷,提高{{U}} (9) {{/U}}。
5.避免了瀑布模型所带来的误区,即软件测试是在{{U}} (10)
{{/U}}之后进行。 |
【正确答案】
【答案解析】(5)了解产品设计特性及用户的真正需求,确定测试目标,可准备用例并策划测试活动。
(6)设计系统测试方案和计划,并准备环境。
(7)进行评审,找出设计缺陷。
(8)设计测试用例,完善测试计划。
(9)程序质量,或软件质量。
(10)代码完成。
[分析]
从上图所示的V模型中还可以看出,左边是设计和分析,是软件设计实现的过程,同时伴随着质量保证活动——审核的过程,也就是静态的测试过程;右边是对左边结果的验证,是动态测试的过程,即对设计和分析的结果进行测试,以确认是否满足用户的需求。
需求分析和功能设计对应验收测试,说明在做需求分析、产品功能设计的同时,测试人员就可以阅读、审查需求分析的结果,从而了解产品的设计特性、用户的真正需求,确定测试目标,可以准备用例(Use Case)并策划测试活动。
当系统设计人员在做系统设计时,测试人员可以了解系统是如何实现的,基于什么样的平台,这样可以设计系统的测试方案和测试计划,并事先准备系统的测试环境,包括硬件和第三方软件的采购。因为这些准备工作,实际上是要花去很多时间。
当设计人员在做在做详细设计时,测试人员可以参与设计,对设计进行评审,找出设计的缺陷,同时设计功能、新特性等各方面的测试用例,完善测试计划,并基于这些测试用例以开发测试脚本。
在编程的同时,进行单元测试,是一种很有效的办法,可以尽快找出程序中的错误,充分的单元测试可以大幅度提高程序质量、减少成本。
从中可以看出,V模型使我们能清楚地看到质量保证活动和项目同时展开,项目一启动,软件测试的工作也就启动了,避免了瀑布模型所带来的误区——软件测试是在代码完成之后进行。