免费智能真题库 > 历年试卷 > 系统规划与管理师 > 2017年下半年 系统规划与管理师 上午试卷 综合知识
  第14题      
  知识点:   软件设计、测试与维护   测试的目的   开发过程   软件测试   软件测试的目的
  关键词:   开发过程   软件测试   软件项目   测试   开发        章/节:   软件工程       

 
在软件项目开发过程中,进行软件测试的目的是( )。
 
 
  A.  缩短软件开发的时间
 
  B.  减少软件的维护成本
 
  C.  尽可能多地找出软件中的错误
 
  D.  证明所开发软件的先进性
 
 
 

 
  第7题    2018年上半年  
   64%
使软件产品能够在变化的环境中继续使用的维护是()
  第3题    2017年下半年  
   62%
信息标准化是解决“信息孤岛”的重要途径,也是不同的管理信息系统之间数据交换和互操作的基础,作为信息标准化的一项关键技术,..
  第9题    2021年上半年  
   0%
软件系统交付后,开发人员发现系统性能可以进一步优化,由此产生的软件维护属于()。
   知识点讲解    
   · 软件设计、测试与维护    · 测试的目的    · 开发过程    · 软件测试    · 软件测试的目的
 
       软件设计、测试与维护
        软件设计:根据软件需求,产生一个软件内部结构的描述,并将其作为软件构造的基础。通过软件设计,描述出软件架构及相关组件之间的接口;然后,进一步详细地描述组件,以便能构成这些组件。
        通过软件设计得到要实现的各种不同模型,并确定最终方案。其可以划分为软件架构设计(也叫作高层设计)和软件详细设计两个阶段。
        软件测试:测试是为了评价和改进产品质量、识别产品的缺陷和问题而进行的活动。软件测试是针对一个程序的行为,在有限测试用例集合上,动态验证是否达到预期的行为。
        测试不再只是一种仅在编码阶段完成后才开始的活动。现在的软件测试被认为是一种应该包括在整个开发和维护过程中的活动,它本身是实际产品构造的一个重要部分。
        软件测试伴随开发和维护过程,通常可以在概念上划分为单元测试、集成测试和系统测试3个阶段。
        软件维护:将软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前要完成的活动包括交付后的运行计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。
        软件维护有如下类型:①更正性维护——更正交付后发现的错误;②适应性维护——使软件产品能够在变化后或变化中的环境中继续使用;③完善性维护——改进交付后产品的性能和可维护性;④预防性维护——在软件产品中的潜在错误成为实际错误前,检测并更正它们。
 
       测试的目的
        软件测试是软件质量保证的主要手段之一,也是在将软件交付给客户之前所必须完成的步骤。目前,软件的正确性证明尚未得到根本的解决,软件测试仍是发现软件错误和缺陷的主要手段。软件测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。
        1983年,Bill Hetzel在《Complete Guide of Software Testing》一书中指出:“测试是以评价一个程序或系统属性为目标的任何一种活动。测试是对软件质量的度量”。Grenford J. Myers在《The Art of Software Testing》一书中指出:
        (1)软件测试是为了发现错误而执行程序的过程。
        (2)测试是为了证明程序有错,而不是证明程序无错误。
        (3)一个好的测试用例在于它能发现至今未发现的错误。
        (4)一个成功的测试是发现了至今未发现的错误的测试。
        这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目的,查找不出错误的测试就是没有价值的,事实并非如此。
        首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性的检测方法,改善测试的有效性。
        其次,没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
        因此,软件测试可以验证软件是否满足软件需求规格说明和软件设计所规定的功能、性能及软件质量特性的要求,为软件质量的评价提供依据。
        软件测试只是软件质量保证的手段之一,不能单凭测试来保证软件质量。
 
       开发过程
        嵌入式系统软件的开发过程可以分为项目计划、可行性分析、需求分析、概要设计、详细设计、程序建立、下载、调试、固化、测试及运行等几个阶段。
        项目计划、可行性分析、需求分析、概要设计及详细设计等几个阶段,与通用软件的开发过程基本一致,都可按照软件工程方法进行,如采用原型化方法、结构化方法等。
        :由于嵌入式软件的运行和开发环境不同,开发工作是交叉进行的,所以每一步都要考虑到这一点。
        程序建立阶段的工作是根据详细设计阶段产生的文档进行的,主要是源代码编写、编译链接等子过程,这些工作都在宿主机上进行,不需要用到目标机。产生应用程序的可执行文件后,就要用到交叉开发环境进行调试,根据实际情况可以选用3.6.3节中提到的调试方法或其有效组合来进行。由于嵌入式系统对安全性和可靠性的要求比通用计算机系统要高,所以,在对嵌入式系统进行白盒测试时,要求有更高的代码覆盖率。
        最后,要将经调试后正确无误的可执行程序固化到目标机上。根据嵌入式系统硬件配置的不同,可以固化在EPROM(Erasable Programmable ROM,可擦除可编程ROM)和Flash等存储器中,也可固化在DOC(DiskOnChip)等电子盘中,通常还要借助一些专用编程器进行。
 
       软件测试
        测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动。
        软件测试是针对一个程序的行为,在有限测试用例集合上动态验证软件是否达到预期的行为。
        软件测试过程如下:
        (1)拟定测试计划。
        (2)编制测试大纲。
        (3)设计和生成测试用例。
        (4)实施测试。
        (5)生成测试报告。
        软件测试方法:
        .人工测试:采用人工方式进行测试,目的是通过对程序静态结构的检查,找出编译时不能发现的错误。人工测试包括个人复查、抽查和会审等。
        .机器测试:把设计好的测试用例作用于被测程序,比较测试结果和预期结果是否一致。机器测试包括黑盒测试(功能测试)和白盒测试(结构测试)。
        软件测试伴随软件开发和维护过程,通常可以在概念上划分为以下三个阶段:
        .单元测试:也称为模块测试,在模块编写完成且无编译错误后就可以进行。
        .集成测试:也称为组装测试,就是把模块按系统设计说明书的要求组合起来进行测试。
        .系统测试:是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装和确认测试。其目的是通过与系统需求相比较,发现所开发的系统与用户需求不符合的地方。
 
       软件测试的目的
        软件测试的目的是尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。成功的测试是发现了至今未发现的错误的测试。
   题号导航      2017年下半年 系统规划与管理师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第14题    在手机中做本题