How do software characteristics differ from hardware characteristics?
1软件是设计开发的,而不是传统意义上生产制造的。2软件不会“磨损”。 3虽然整个工业向着基于构件的构造模式发展,然而大多数软件仍是根据实际的顾客需求定制的。
What is equivalence partitioning as it applies to software testing? What is scenario-based testing?
等价划分是一种黑盒测试方法,它将程序的输入划分为若干的数据类,从中生成测试用例。理想的测试用例是可以单独的发现一类错误,否者在观察到一般错误之前需要进行许多测试用例,等价划分试图定义一个测试用例以发现一类错误,由此减少所需测试用例的总数。 基于场景的测试:它关心的是用户做什么,而不是产品做什么,捕获用户完成的任务,然后在测试时候使用它们及其变体。场景用来发现交互错误。这种测试倾向于用单一测试检查多个子系统。
Describe the differences between software construction and software deployment.
软件的构造包括了编码和测试任务,从而为向客户和最终用户交付可运行软件做好准备。部署则包括了三个动作:交付,支持和反馈。用于现代软件工程本质上是演变的,因此部署并不是只发生一次。两者都是软件工程的通用框架活动,但是构件肯定是发生在部署之前,部署是构件的下一个活动。 What are the six steps for requirements engineering?
需求工程的六个步骤是:起始,导出,精化,协商,规格说明,确认和管理 Which UML (unified modeling language) diagrams are useful in object-oriented analysis modeling?
静态图:用例图,类图,对象图,构件图,部署图。 动态度:状态图,时序图,协作图,活动图。
List the four design models required for a complete specification of a software design and the role of each.
Data design, architectural design, interface design, procedural design. 数据设计、体系结构设计、接口设计、过程设计 ? Data - high level model user’s view data.
? Architecture – relationships among software model and hardware elements ? Interface - externally observable behavior of a class and access to its operations ? Component - internal detail of each software component
Why is regression testing an important part of any integration testing procedure?
回归测试就是用来保证(由于测试或者其他原因)改动不会带来不可预料的行为或者另外的错误的活动。
Describe the differences between black-box testing and white-box testing.
黑盒测试:(也叫功能测试)根据被测试程序的功能来进行的测试。 白盒测试:(也叫结构设计)是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正 确工作。
区别:黑盒测试:主要从用户的输入和系统输出进行软件外部的测试。 白盒测试:主要对软件内部的逻辑业务进行测试。
Describe the five framework activities involved in the software process. 五个框架活动分别是沟通、策划、建模、构建和部署。
(1)沟通:这个框架活动主要包含与客户(和其他共同利益者)之间大量的交流和协作,还包括需求获取以及其他相关活动。
(2)策划:指为后续的软件工程工作制定计划,它描述了悬疑执行的技术任务,可能的风险,资源需求,工作产品和工作进度计划。
(3)建模:它包括创建模型和设计两个方面,创建模型有助于客户和开发者更好地理解软件需求,而设计可以实现需求。
(4)构建:它包括编码(手写的或者自动生成的)和测试(测试是为了发现编码中得错误)。
(5)部署:软件(全部或者完成的部分)交付到用户,用户对其进行评测并给出反馈意见。 List the types of models that might be used in requirements modeling and explain the role of each type of model. (1)基于场景的元素表述用户如何与系统和使用软件时出现的特定活动序列进行交互。(2)基于类的元素建模于系统操作的对象,应用在这些对象间影响操作和对象间关系(某层级)的操作,以及定义的类间发生的协作。(3)行为元素描述了外部事件如何改变系统或驻留在系统里的类的状态。(4)最后,面向流的元素表示信息转换的系统,描述了数据对象在流过各种系统功能时是如何转换的。
Briefly describe the primary differences betweet structured analysis and object-oriented analysis 结构化分析中数据可作为独立实体转换,数据对象模型的方式定义了它们的属性和关系。操作数据对象的建模过程表明当数据对象通过系统时如何转换数据。分析建模的第二种方法称作面向对象分析,这种方法关注于定义类以及影响客户需求的类之间的协作方式。
What are the key differences between validation testing goals and verification (or acceptance) testing goals? (1) 在验证测试中,测试团队的目的,以确保每个软件的功能或性能特点
符合其规格。
(2) 在确认测试中,测试团队需要确保软件正常工作为目的的用户在他或 她的正常工作环境。
Describe the differences between the software engineering terms coupling and cohesion?
(coupling)耦合性:指一个模块与其他模块间的联系,也称为块件联系。 (cohesion)内聚性:指模块内部各个成分之间的联系,也称为块内联系。
How does the object-oriented view of component-level design differ from the traditional view? 面向对象的观点侧重于阐述了来自这两个问题和基础设施领域的设计类。类由指定的消息的细节,可识别的接口,定义属性的数据结构,并描述用于操作流程阐述。在传统观念中,三个组成部分细化为:控制模块,模块领域和基础设施模块。这要求为数据结构,接口,和算法创建表示每个程序模块中足够的细节以产生编程语言源代码。