
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
软件架构设计与软件测试是目前大多数软件开发程序员都需要熟练掌握的一个互联网编程开发技术,下面我们就通过案例分析来了解一下,软件架构设计对测试的影响作用。
软件系统架构就是组成系统的主要重要模块、过程、数据的管理和分配、用户界面的种类和风格,以及系统运行平台等。其中包括它们的结构和彼此间的准确关系,他们可被扩展和修改的方式,他们依赖于某种技术,是怎样得到系统性能和灵活性的,又是如何确定系统实施或修改计划的。
软件架构之所以重要是因为优秀的架构是确保软件长期成功的关键因素。而对于我们测试来说,其软件架构会对测试实施产生哪些影响呢?
先是稳定性。稳定性可以降低在版本更新时扩展系统功能的重复老师,并减少实施过程的总成本。它巩固了开发团队的基础,使其专注于开发更大价值的特性,而并非浪费精力关注在经常变更的问题上。对于良好的系统架构,会使测试设计更稳定,减少因变更带来的测试工作量。
对变更的度和性质。架构决定系统中发生变更的性质。有些变更很容易被察觉,而察觉另一些则很难。在我们为吸引更多客户而需要提高客户满意度或增加功能时,如果能够简单实现预期的变更,那么各种架构通常被认为是好的。系统的功能需求变更,使系统受影响的部分小,避免大量的回归测试。
社会架构。优秀的架构为创建它的团队而工作。它可以平衡团队内部的个体在实力和能力上存在的差异,而且可以弥补各自的弱点。例如团队对C++的内存管理经常使用不当,而如果使用Java、Perl或C#等系统自动进行内容管理的开发语言可以减少这方面的问题。而我们测试中,则对于内存方面的测试则可以考虑的较少一些。对我们招募测试团队的人员的技能也产生影响。
边界的决定。在架构的设计过程中,团队会就哪些应该被加入到系统中,而哪些不应该被加入到系统中做出很多决定。例如,是团队自己写数据库访问层,还是购买许可?团队是使用开源的Web服务器还是购买许可?那个子团队应该负责用户界面的设计?成功的解决方案确实能够创建技术边界来支持业务的特殊需求。这些边界选择可直接影响我们的测试,例如,服务器监控、服务器性能参数调优等。
可持续的、不可替代的优势。这一点可以概括前面的几点,但是一个好的架构能够使系统在市场竞争由于难于复制而占据优势地位。例如在性能和易用性方面获得优势。这对于我们测试来说,可以减少缺陷,性能更能达到目标而减少系统调优后反复测试的过程。
创建系统架构的实际方法就是探索多种已被文档化的模式,所以关于开发模式的书籍比较畅销,也正是很多研发管理人员必读的书籍。
测试团队要对软件系统架构进行理解,应该着重分析研发团队提供的一些视图,以增加对系统架构的理解。
逻辑视图。它提供了系统开发中对象间或实体间相互关系的静态快照。这种视图实际上可能有两个或更多的表现层。一个概念模型,另一个是数据库模式中模型的实现。往往现在数据库架构师使用PowerDesigner描述实体的逻辑关系,所以需要我们测试工程师学会查看数据库实体描述,从而了解系统中的数据库设计,例如关键字,索引、表实体之间的关系等。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。