软件工程-测试问题

类的核心特性有哪些?给出内容描述。

类的核心特性有封装性、继承性、多态性。

类的封装性为类的成员提供多级访问权限,目的是隐藏类中私有变量及类中方法的实现细节。

类的继承性提供从已存在的类创建新类的机制,继承使得新类能够获得被继承类的全部成员。

类的多态性提供类中方法执行的多样性,多态性的表现形式有重载和覆盖。

  软件危机产生的主要原因有哪些?

(1)软件日益复杂和庞大;(2)软件开发管理日益复杂和困难;(3)软件开发技术落后;(4)生产方式落后;(5)开发工具落后;(6)软件开发费用不断增加。

  以G.Myers的观点,简述软件测试的目的。

软件测试是(1)为发现错误而执行程序的过程;(2)一个好的用例是发现至今尚未发现的错误的用例;(3)一个好的测试是发现至今尚未发现的错误的测试。

  什么是模块的影响范围?什么是模块的控制范围?它们之间应建立什么关系?

模块的影响范围(作用域):受该模块内的一个判定影响的所有模块的集合;

模块的控制范围(控制域):这个模块本身及所有直接或间接从属于它的模块的集合;

关系:模块的影响范围(作用域)应该在模块的控制范围(控制域)内。

  什么是软件生存周期?它都有哪几个主要过程?

软件生存周期:一个软件从提出开发需求开始一直到软件报废为止的整个时期。

包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。

  什么是数据字典?数据字典可以描述哪些内容?

数据字典是结构化分析方法的工具。数据字典是所有与系统有关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储及中间计算有共同的理解。包括:词条描述、数据结构描述、加工逻辑说明、数据存储。

  什么是测试用例?黑盒测试和白盒测试的基本思想是什么?

“测试用例”是指为寻找程序中的错误而精心设计的一组测试数据,每个测试数据一般是一个二元组(输入数据和预期结果)。

黑盒测试是从产品功能角度出发,不关心内部是如何实现其功能的结构,是从用户观点出发的。

白盒测试是从被测试程序的内部逻辑入手来设计测试用例。

  说明结构化程序设计的主要思想是什么?

(1)自顶向下、逐步求精的程序设计方法;(2)使用3个基本控制结构(循序、条件、循环)、单入口、单出口来构造程序。

  假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字 处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。 你打算采用哪种软件生命周期模型?为什么?

这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以 得出 3点结论:

第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定 对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;

第二,该公司的软件 工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字 处理软件所需要的技术水平;

第三,该软件受到广大刚户的喜爱,今后很可能还要开发更新 的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。

综上所述,采用增量模型来完成这个项目比较恰当。