【软件工程与实践】(第四版)第7章习题答案详解

写在文章开头,感谢你的支持与关注!小卓不羁

第7章

一、填空题

(1)发现软件的错误

(2)白盒法 系统的模块功能规格说明

(3)功能

(4)预期输出结果

(5)适应性维护

二、选择题

(1)B

(2)B

(3)C

(4)D

(5)C

三、简答题

(1)什么是白盒测试法?什么是黑盒测试法?
答: 白盒测试 主要是对程序内部结构执行路径的测试,也称透明盒测试、开放盒测试、结构化测试、基于代码测试和逻辑驱动测试等。测试人员将测试对象看作一个打开的盒子,搞清软件内部逻辑结构和执行路径后,利用其结构及有关信息设计测试用例,对程序所有逻辑路径进行测试,以检测不同点检查程序的实际状态与预期状态一致性。
黑盒测试 也称为功能测试或黑箱测试,其盒是指被测试的软件,"黑盒"则指测试人员只知道被测软件的界面和接口外部情况,不必考虑程序内部的逻辑结构和特性,只根据程序的需求分析规格说明,检查其功能是否符合。以黑盒测试发现程序中的错误,应在所有可能的输入条件和输出条件中确定测试数据,检查程序是否都能产生正确输出。

黑盒测试主要检测的错误/问题包括:功能不正确/被遗漏、界面错误、数据结构/外部数据库访问错误、性能错误、初始化/终止错误。
(2)软件测试的目的和主要特点有哪些?

软件测试的目的是:尽可能多的找到软件中的错误,而不是证明软件的正确。

软件测试具有四个主要特点:软件测试的成本很大。不可进行"穷举"测试。测试具有"破坏性"。软件测试是整个软件开发过程一个独立阶段,又贯穿到软件开发各个阶段。

(3)效性测试的主要内容有哪些?主要有谁负责?

有效性测试的主要内容包括:系统性初始化测试、功能测试、用户需求确认、业务处理或数据处理测试、性能测试、安全性测试、安装性测试、恢复测试、压力测试等。

有效性测试的职责分工是:由测试人员负责测试工作,对测试过程及结果进行认真详细的记录和分析,并完成测试文档。最好由用户参与"用户需求确认"。

(4)软件调试一般经过哪些步骤?采用哪些方法?

软件调试包含定位和纠正错误两个部分。完整的软件调试过程主要有4个步骤。

1)重现问题。需要对进行调试的软件重复导致出现问题的过程,从而使要解决的问题具体完整地得以再现。

2)定位根源。主要综合利用各种调试工具和手段,查找导致软件故障的位置及根源。

3)确定解决方案。主要根据寻找到的故障根源及位置、资源情况、紧迫程度等因素,设计和实施解决的具体方案。

4)验证方案。在目标环境中,以回归测试测试检验方案的有效性。如果问题已经解决,则可停止此问题的调试。如果没有解决,则回到第3步调整并修改解决方案。

软件调试的关键在于查找推断程序内部错误位置及原因,采用4种方法:

1)强行排错方法。虽然经常使用且方法简单,却效率较低。主要技术和方法包括:内存排错、特定语句排错、自动调试工具。

2)回溯法排错方法。简称回溯法,当发现错误以后,可以先分析错误征兆,确定最先发现"症状"的位置。然后,人工沿程序的控制流程,向回追踪源程序代码,直到找到错误根源或确定错误产生的范围。

3)归纳法排错法。简称归纳法,是一种由特殊推断一般的系统化思维方法。其基本思想是:以一些错误征兆为线索着手排查,通过分析各种关系归纳问题总结规律查找错误。

4)演绎法排错。简称演绎法,是从一般原理或前提出发,经过排查和精化过程推导出结论的一种排错方法。
(5)软件维护主要任务有哪些?

软件维护的主要任务

(1)确认维护要求。维护人员通过与用户交流协商,弄清错误情况和对业务的影响,以及用户具体的修改需求,之后由维护组织管理员确认维护类型。

(2)对改正性维护申请,先评价错误的严重性。若存在严重错误,则必须安排人员,在系统监督员指导下,进行问题分析,寻找错误发生的原因,进行应急性维护;对不严重的错误,可根据任务、机时、视轻重缓急,进行排队统一安排时间。

(3)对适应性维护和完善性维护申请,先确定每项申请的优先次序。除特殊情况外,一般同其他开发工作一样,依次开始维护。

(4)尽管维护申请的类型不同,但都要进行同样的技术工作。主要任务包括:修改软件需求说明、修改软件设计、设计评审、对源程序做必要的修改、单元测试、集成测试(回归测试)、有效性测试、软件配置评审等。

(5)每次软件维护完成后,及时记录,对较大维护应进行评审,维护后应进行确认:设计、编码、测试中哪一方面可以改进?哪些维护资源应该有但没有?工作中主要的或次要的故障及问题是什么?从维护申请的类型看是否应当有预防性维护?

四、实践题

某教务管理信息系统中要求用户输入成绩。成绩限制为0到100之间的整数,即系统只能对该范围内的成绩进行处理。如果用户输入的成绩不在此范围内,则显示"输入错误"。输入的成绩小于60则显示"不及格",大于等于60显示"及格"。(该系统规定成绩只能为整数,输入小数或其它字符无效。)

试用等价类划分法边界值分析法 设计测试用例,来测试程序的"输入成绩"功能。

1)划分等价类:

2)测试用例:

边界值法:

相关推荐
Theodore_10225 小时前
4 软件工程——总体设计
java·开发语言·数据库·算法·java-ee·软件工程·设计
Theodore_10225 小时前
1 软件工程——概述
java·开发语言·算法·设计模式·java-ee·软件工程·个人开发
shinelord明11 小时前
【再谈设计模式】享元模式~对象共享的优化妙手
开发语言·数据结构·算法·设计模式·软件工程
人才程序员2 天前
QML z轴(z-order)前后层级
c语言·前端·c++·qt·软件工程·用户界面·界面
Theodore_10222 天前
3 需求分析
java·开发语言·算法·java-ee·软件工程·需求分析·需求
做人求其滴2 天前
GDPU软件工程习题(挖空版)
软件工程
MrFlySand_飞沙2 天前
软件工程
软件工程
jokr_2 天前
【软件工程复习】
软件工程
云空2 天前
《软件工程文档攻略:解锁软件开发的“秘籍”》
软件工程
人才程序员2 天前
【无标题】
c语言·前端·c++·qt·软件工程·qml·界面