软件架构的必备基础.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件要的就是简单 谷泰坚持以“客户成功,我们成功”为服务理念,努力创建信息化服务领域的品牌公司。 相信您选择谷泰,就是成功的开始。 软件系统架构对测试的影响分析 我们知道软件系统的架构会对系统测试产生影响,而到底会产生哪些影响呢?首先看一下软件系统架构到底是如何定义的? 软件系统架构就是组成系统的主要重要模块、过程、数据的管理和分配、用户界面的种类和风格,以及系统运行平台等。其中包括它们的结构和彼此间的准确关系,他们可被扩展和修改的方式,他们依赖于某种技术,是怎样得到系统性能和灵活性的,又是如何确定系统实施或修改计划的。   软件架构之所以重要是因为优秀的架构是确保软件长期成功的关键因素。而对于我们测试来说,其软件架构会对测试实施产生哪些影响呢?   首先是稳定性。稳定性可以降低在版本更新时扩展系统功能的重复老师,并减少实施过程的总成本。它巩固了开发团队的基础,使其专注于开发更大价值的特性,而并非浪费精力关注在经常变更的问题上。对于良好的系统架构,会使测试设计更稳定,减少因变更带来的测试工作量。   对变更的度和性质。架构决定系统中发生变更的性质。有些变更很容易被察觉,而察觉另一些则很难。在我们为吸引更多客户而需要提高客户满意度或增加功能时,如果能够简单实现预期的变更,那么各种架构通常被认为是好的。系统的功能需求变更,使系统受影响的部分最小,避免大量的回归测试。   社会架构。优秀的架构为创建它的团队而工作。它可以平衡团队内部的个体在实力和能力上存在的差异,而且可以弥补各自的弱点。例如团队对C++的内存管理经常使用不当,而如果使用Java、Perl或C#等系统自动进行内容管理的开发语言可以减少这方面的问题。而我们测试中,则对于内存方面的测试则可以考虑的较少一些。对我们招募测试团队的人员的技能也产生影响。   边界的决定。在架构的设计过程中,团队会就哪些应该被加入到系统中,而哪些不应该被加入到系统中做出很多决定。例如,是团队自己写数据库访问层,还是购买许可?团队是使用开源的Web服务器还是购买许可?那个子团队应该负责用户界面的设计?成功的解决方案确实能够创建技术边界来支持业务的特殊需求。这些边界选择可直接影响我们的测试,例如,服务器监控、服务器性能参数调优等。    可持续的、不可替代的优势。这一点可以概括前面的几点,但是一个好的架构能够使系统在市场竞争由于难于复制而占据优势地位。例如在性能和易用性方面获得优势。这对于我们测试来说,可以减少缺陷,性能更能达到目标而减少系统调优后反复测试的过程。   创建系统架构的实际方法就是探索多种已被文档化的模式,所以关于开发模式的书籍比较畅销,也正是很多研发管理人员必读的书籍。   测试团队要对软件系统架构进行理解,应该着重分析研发团队提供的一些视图,以增加对系统架构的理解。   逻辑视图。它提供了系统开发中对象间或实体间相互关系的静态快照。这种视图实际上可能有两个或更多的表现层。一个概念模型,另一个是数据库模式中模型的实现。往往现在数据库架构师使用PowerDesigner描述实体的逻辑关系,所以需要我们测试工程师学会查看数据库实体描述,从而了解系统中的数据库设计,例如关键字,索引、表实体之间的关系等。   过程视图。过程视图描述设计的并发性和同步性因素。我们了解过程视图,从而会了解系统中各个模块之间的时间、空间关系。原来的结构化编程中经常用流程图来表示,而现在面向对象的编程经常用一些建模工具描述对象实体。例如,架构师经常使用Rose等建模工具,建立实体的序列图、状态图等来描述过程。而我们测试工程师应该学会看懂序列图或状态图等。   物理视图。物理视图描述软件到硬件的映射,其中包括实现高可用性、可靠性、容错性和性能等目标的处理部件的分布情况。常用Rose部署图来描述物理视图,也可以使用Visio等绘图工具绘制系统架构图来描述。   开发视图。开发视图描述软件在开发环境中的静态组织结构。研发团队通常用Rose等建模工具绘制实体关系图,描述各个实体之间的静态关系。   了解了系统的架构之后,对于测试来说,就应该做相应的准备工作。包括招募具有相应技能的人员。针对特定的结构采取相应的测试设计。例如,对于J2EE架构,则要考虑如何集成测试,采用何种集成策略。对于性能测试,考虑哪些测试。例如研发采用Weblogic作为应用服务器,则我们要考虑该服务器哪些配置参考会影响系统的性能。物理架构中具有中间件服务器,则我们对中间件服务器如何测试。 谷泰一家专业从事企业管理软件咨询、开发和技术服务的IT企业,专注于企业信息化管理软件,产品和服务涉及供应链进销存、生产加工制造、企业管理流程优化、财务账款等一系列与企业经营活动紧密相关的环节。 适合服装商贸(批发、零售、多门店)和生产加工(外加工、厂内生产)

文档评论(0)

seunk + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档