系统测试分析报告:软件Software系统架构对测试的影响分析



       我们知道软件Software系统架构会对系统测试产生影响而到底会产生哪些影响呢?刚好最近读了超越软件Software架构-创建和维护优秀解决方案这本书根据对其中对软件Software系统架构诠释我从测试方面进行了些分析写在这里和读者共享 
   首先看下软件Software系统架构到底是如何定义

        软件Software系统架构就是组成系统主要重要模块、过程、数据管理和分配、用户界面种类和风格以及系统运行平台等其中包括它们结构和彼此间准确关系他们可被扩展和修改方式他们依赖于某种技术是怎样得到系统性能和灵活性又是如何确定系统实施或修改计划

        软件Software架构的所以重要是优秀架构是确保软件Software长期成功关键原因而对于我们测试来说其软件Software架构会对测试实施产生哪些影响呢?

首先是稳定性稳定性可以降低在版本更新时扩展系统功能重复老师并减少实施过程总成本它巩固了开发团队(Team)基础使其专注于开发更大价值特性而并非浪费精力关注在经常变更问题上对于良好系统架构会使测试设计更稳定减少因变更带来测试工作量 
对变更度和性质架构决定系统中发生变更性质有些变更很容易被察觉而察觉另些则很难在我们为吸引更多客户而需要提高客户满意度或增加功能时如果能够简单实现预期变更那么各种架构通常被认为是好系统功能需求变更使系统受影响部分最小避免大量回归测试 
社会架构优秀架构为创建它团队(Team)而工作它可以平衡团队(Team)内部个体在实力和能力上存在差异而且可以弥补各自弱点例如团队(Team)对C内存管理经常使用不当而如果使用Java、Perl或C#等系统自动进行内容管理开发语言可以减少这方面问题而我们测试中则对于内存方面测试则可以考虑较少对我们招募测试团队(Team)人员技能也产生影响 
边界决定在架构设计过程中团队(Team)会就哪些应该被加入到系统中而哪些不应该被加入到系统中做出很多决定例如是团队(Team)自己写数据库访问层还是购买许可?团队(Team)是使用开源Web服务器还是购买许可?那个子团队(Team)应该负责用户界面设计?成功解决方案确实能够创建技术边界来支持业务特殊需求这些边界选择可直接影响我们测试例如服务器监控、服务器性能参数调优等 
可持续、不可替代优势点可以概括前面几点但是个好架构能够使系统在市场竞争由于难于复制而占据优势地位例如在性能和易用性方面获得优势这对于我们测试来说可以减少缺陷性能更能达到目标而减少系统调优后反复测试过程 
        创建系统架构实际思路方法就是探索多种已被文档化模式所以有关开发模式书籍比较畅销也正是很多研发管理人员必读书籍

        测试团队(Team)要对软件Software系统架构进行理解应该着重分析研发团队(Team)提供些视图以增加对系统架构理解

逻辑视图它提供了系统开发中对象间或实体间相互关系静态快照这种视图实际上可能有两个或更多表现层个概念模型个是数据库模式中模型实现往往现在数据库架构师使用PowerDesigner描述实体逻辑关系所以需要我们测试工程师学会查看数据库实体描述从而了解系统中数据库设计例如关键字索引、表实体的间关系等  [Page]
过程视图过程视图描述设计并发性和同步性原因我们了解过程视图从而会了解系统中各个模块的间时间、空间关系原来结构化编程中经常用流程图来表示而现在面向对象编程经常用些建模工具描述对象实体例如架构师经常使用Rose等建模工具建立实体序列图、状态图等来描述过程而我们测试工程师应该学会看懂序列图或状态图等 
物理视图物理视图描述软件Software到硬件映射其中包括实现高可用性、可靠性、容错性和性能等目标处理部件分布情况常用Rose部署图来描述物理视图也可以使用Visio等绘图工具绘制系统架构图来描述 
开发视图开发视图描述软件Software在开发环境中静态组织结构研发团队(Team)通常用Rose等建模工具绘制实体关系图描述各个实体的间静态关系 
        了解了系统架构的后对于测试来说就应该做相应准备工作包括招募具有相应技能人员针对特定结构采取相应测试设计例如对于J2EE架构则要考虑如何集成测试采用何种集成策略对于性能测试考虑哪些测试例如研发采用Weblogic作为应用服务器则我们要考虑该服务器哪些配置参考会影响系统性能物理架构中具有中间件服务器则我们对中间件服务器如何测试

        总的了解些软件Software系统架构对于测试人员尤其是测试管理人员是非常需要
Tags:  系统架构 系统测试软件 系统测试 系统测试分析报告

延伸阅读

最新评论

发表评论