软件工程考试重点总结内容摘要:

务的硬件平台、操作系统和编程语言。 这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。 2. 服务( service)是封装成用于业务流程的可复用构件的应用程序函数。 它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变。  服务( service)是封装成用于业务流程的可复用构件的应用程序函数。 它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变 3. SOA 的特点  松耦合 ① 在该体系架构中,客户端不和任何服务器相关联,它只和服务相联系,所以客户端和服务器的集成不影响客户端应用程序。 ② 无论老的或者新的功能模块都可以被封装成服务构件被发布。 ③ 功能构件和它们的接口分离,所以新的接口可以非常方便地插入。 ④ 在复杂的应用程序里,业务过程的控制可以被隔离:引入一个业务规则引擎用来控制已经定义好的业务过程流。 引擎根据工作流的状态调用各种不同的服务。 ⑤ 服务可以在运行时动 态地合成进来。 ⑥ 通过配置文件进行绑定,所以可以非常容易地适应各种新的需要。  明确定义的接口  服务交互必须是明确定义的  Web 服务描述语言( Web services Description Language, WSDL)是受到广泛支持的方法,用于描述服务请求者所要求的绑定到服务提供者的细节  服务  调用操作的消息  构造这种消息的细节  关于向何处发送用于构造这种消息的处理细节的消息的信息  无状态的服务设计  服务应该是独立的、自包含的请求,在实现时它不需要从一个请求到另一个请求的信息或状态  服务不应该依赖于其他服务的上下文和状态。 当需要依赖时,它们最好定义成通用业务流程、函数和数据模型 补充内容 :云计算( PPT) 1. 云计算的定义 云计算( Cloud Computing ):是分布式处理 (Distributed Computing)、并行处理 (Parallel Computing)和网格计算 (Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。 是指基于互联网的超级计算模式 即把存储于个人 电脑、移动电话和其他设备上的大量信息和处理器资源集中在一起,协同工作。 在极大规模上可扩展的信息技术能力向外部客户作为服务来提供的一种计算方式。 2. 云计算的优势: ① 开发容易快速 ② 无多余的开支 ③ 每月花费低 ④ IT 人员减少,费用降低 ⑤ 提供最新的技术和功能 ⑥ 支持、推行 IT 标准 ⑦ 系统和信息共享更容易 3. 云计算的应用模型  云计算三种服务方式  SAAS( Software as a Service )  PAAS( Platform as a Service )  IAAS( Infrastructure as a Service )  云计算的应用 —IAAS( Infrastructure as a Service)  实现模式  完全操作系统(软硬件)接入  防火墙  路由器  负载平衡  优势  节省费用 /所付及所用  即时升级  安全  可靠  APIs  实例  当你想运行成批的程序组,但是没有合适的软硬件环境,可使用 Amazon的 EC2。  当你想在网络上 发布一个短期(几天到几个月)的网站,可使用 Flexiscale。  云计算的应用 —PAAS( Platform as a Service )  实现模式  平台价格昂贵  需求估算不科学  平台管理复杂麻烦  流行的服务  存储  数据库  扩展性  优势  节省费用 /所付及所用  即时升级  安全  可靠  APIs  实例  当你想把一个大容量的文件上传到网络上,允许 35000 个用户使用 2 个月的时间,可使用 Amazon 的 Cloud Front 即时升级。  当你想在网络上存储大量的文档,但是你没有足够的存储空间,可使用Amazon 的 S3。 可靠。  云计算的应用 —SAAS( Software as a Service )  实现模式  在中小企业盛行  无需管理软硬件  服务通过浏览器实现  优势  无浪费费用  即时扩展  安全  可靠  APIs  实例  CRM  财务计划  HR  文字处理  Email  云计算的应用  IaaS、 PaaS amp。 SaaS 共性  无浪费费用  即时扩展  安全  可靠  APIs  优势  用户花费低  减少底层管理职责  允许意想不到的资源装载  业务应用实现迅速  风险  安全性  宕机问题  接入问题  独立性  协同互动问题 第七章 软件测试 1. 软件测试的概念 2. 软件测试的原则  Davis 提出了一组指导软件测试的基本原则: ① 所有的测试都应根据用户的需求来进行。 ②应该在测试工作真正开始前的较长时间内就进行测试计划(测试规划)的编写。 一般而言,测试计划可以在需求分析完成后开始,详细的测试用例定义可以在设计模型被确定后立即开始,因此,所有测试可以在任何代码被编写前进行计划和设计。 ③ Pareto 原则应用于软件测试。 Pareto 原则意味着测试发现的 80%的错误很可能集中在 20%的程序模块中。 ④测试应从“小规模”开始, 逐步转向“大规模”。 即从模块测试开始,再进行系统测试。 ⑤ 穷举测试 是不可能的,因此,在测试中不可能覆盖路径的每一个组合。 然而,充分覆盖程序逻辑,确保覆盖程序设计中使用的所有条件是有可能的。 ⑥ 为达到最佳的测试效果,提倡由第三方来进行测试。  其他的测试原则: ① 在设计测试用例时,应包括合理的输入条件和不合理的输入条件 ②严格执行测试计划,排除测试的随意性 ③ 应当对每一个测试结果做全面检查 ④妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便 ⑤检查程序是否做了应做的事仅是成功的一半,另一半是检查程序是否做了不该做的事。 ⑥在规划测试时不要设想程序中不会差出错误 3. 测试用例的设计方法大体可分为两类  白盒测试 /白箱测试  把测试对象看作一个透明的盒子,根据程序内部的逻辑结构及有关信息设计测试用例  黑盒测试 /黑箱测试  把测试对象看做一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性 4. 白盒测试  又称结构测试、逻辑驱动测试或基于程序的测试  把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。  主要用于对模块的测试  白盒法常用的测试方法 ① 基本路径覆盖测试  根据程序或设计图画出控制流图,并计算其区域数,然后确定一组独立的程序执行路径,最后为每一条基本路径设计一个测试用例 ②逻辑覆盖测试  考察使用测试数据运行被测程序时对程序逻辑的覆盖程度  通常希望选择最少的测试用例来满足所需的覆盖标准  语句覆盖:每个可执行语句都至少执行一次  判定覆盖 :每个判定的每个分支至少经过一次  条件覆盖:每个判定中的每个条件的所有可能结果都至少出现一次  判定-条件覆盖:每个判定的所有可能结果都至少执行一次,并且,每个判定中的每个条件的所有可能结果都至少出现一次  条件组合覆盖:每个判定中条件结果的所有可能组合都至少出现一次  路径覆盖:每条可能执行到的路径都至少经过一次(如果程序中包含环路,则要求每条环路至少经过一次) ③ 数据流测试  根据程序中变量的定义(赋值)和引用位置来选择测试用例 ④循环测试  简单循环、嵌套循环、串接循环和非结构循环 ⑤检查程序是否做了应做的事仅是成功的一半,另一半是检查程序是否做了不该做的事。 ⑥在规划测试时不要设想程序中不会差出错误 5. 黑盒测试  黑盒法是把测试对象看做一个黑盒,测试时完全不考虑程序内部的逻辑结构与内部特性,只需根据需求规格说明书,测试程序的功能或程序的外部特性,因此黑盒发又称为功能测试或数据驱动测试。  黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误:功能不对或遗漏;性能错误;初始化和终止错误;界面错误;数据结构或外部数据库访问错误。  黑盒法的 主要测试方法: ① 等价分类法  将所有可能的输入数据划分成若干个等价类,然后在每个等价类中选取一个代表性的数据作为测试用例 ②边界值分析法  挑选那些位于边界附近的值作为测试用例 ③ 错误推测法  凭 以往的经验和 直觉推测 程序中 某些可能存在的 各种 错误,从而针对 性地设计测试用例 ④因果图法  既考虑输入条件的组合关系,又考虑输出条件对输入条件的依赖关系 ⑤比较测试法  分别开发二个软件版本,用相同的测试用例对二个版本的软件分别进行测试,比较其测试结果 6. 软件测试的策略  单元测试。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。