0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何成为名副其实的测试架构师?

vliwulianw 来源:软件质量报道 作者:软件质量报道 2022-10-26 10:59 次阅读

测试模型无处不在,你只有真正理解了“什么是测试架构”、拥有了测试建模能力,才能成为名副其实的测试架构师。

众所周知,“架构(architecture)”一词来源于建筑,具有 “建筑学、体系结构” 等含义。建筑学的内涵要比体系结构丰富得多,但其核心往往关注其造型和体系结构的设计,综合考虑环境需求和使用者的需求,进行空间上合理的功能分配,满足安全、经济、适用、美观等需求,达到人和环境的和谐。

软件体系架构是一个比喻(或称之为“系统隐喻”),类似于建筑物的体系结构,主要指软件系统的基本结构及其设计规范,软件体系架构包括软件系统构成元素及其之间的关系、元素和关系的特性等。例如,一个系统由数据层、数据访问层、服务层、业务逻辑层、展示层等组成,每个层次都是系统的构成元素,各个元素之间不仅有层次关系,而且是通过接口连接起来,以降低系统的耦合性。如果需要提升系统的可靠性,系统还要增加冗余组件。

软件架构也是项目早期必须做出的设计决策,即从体系结构的角度思考软件的核心组成、决定什么是重要的,并能使这些体系结构元素处于良好的状态。而软件架构师是能够识别哪些元素是重要的,能识别出哪些元素不加以控制,可能会导致严重的问题。如果在软件开发早期没有做出基本结构的正确选择或设计出良好的结构,后续软件系统会存在某些质量问题而不得不进行修改,而且这种修改会付出高昂的代价,导致功能的实现更慢、缺陷也更多。所以,软件架构及其设计是非常重要的。

那么软件测试中存在架构或基本结构吗?即软件测试中是否存在一些测试元素及其关系,我们需要研究这些元素、关系,从而能提高测试的效率和质量?其实是存在的,其中一个显著的例子就是自动化测试框架或测试平台的架构,如图1案例所示,虽然它基本符合软件架构的特性,但同时也要满足软件测试的特定需求。所以,软件测试平台的架构不能单单看作是一类通用的软件架构。

8ff101bc-54be-11ed-a3b6-dac502259ad0.png

图1阿里云测试平台架构TestMaster示意图 除了自动化测试平台之外,面对一个具体的测试项目,也存在着一系列的测试建模:

测试需求建模(有时也包含了测试设计)——众所周知的基于模型的测试方法(MBT),如相对简单的分类树、黒盒测试方法(如图2所示)、因果图、状态树、有限状态机等,以及更复杂的建模,符号执行、模型检验等,如图3所示;

测试方案的设计,包含着如何识别出测试项、测试风险、测试方法等众多测试元素,以及确定它们之间的关系;

测试用例的结构,如在基于脚本测试中,如何分解测试目标、如何构建测试集(test suite)、如何组织好测试用例(含层次划分)等。

探索式测试的设计,如何将测试目标分解为Mission,再将Mission分解为Session。

自动化测试脚本的设计,如何对测试脚本的封装、层次划分等。

9030f02e-54be-11ed-a3b6-dac502259ad0.png

图2黑盒测试方法抽象为模型

90582ee6-54be-11ed-a3b6-dac502259ad0.png

图3符号执行模型示意图

软件测试离不开业务、更离不开开发,软件测试团队或相关人员需要和业务架构师(或业务分析人员)、产品经理和软件开发架构师进行沟通,参与需求评审和(技术架构和功能结构、UI等)设计评审,理解业务架构、产品结构和技术架构等(如果不了解这些内容,不要急,后续有详细讨论),从而更好地设计出测试方案,更有效地进行测试,如分层测试、精准测试、契约测试等都有测试建模的影子。这里也不仅仅是功能测试,还有性能测试、安全性测试和可靠性测试,像这些专项测试的结果分析,需要对系统的技术结构、产品结构有很深的理解,才能完成缺陷的分析与定位。更重要的是,一些非功能性的缺陷,甚至在技术架构设计评审时就能发现问题,而且这时修复设计缺陷的成本,会远远低于在系统的专项测试之后的修复成本。

测试模型进一步延伸,可以延伸到测试过程建模,如W模型、TMap等,这里给出敏捷测试的过程模型,如图4所示。

90736918-54be-11ed-a3b6-dac502259ad0.png

图4敏捷测试过程模型

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自动化
    +关注

    关注

    29

    文章

    5562

    浏览量

    79240
  • 架构
    +关注

    关注

    1

    文章

    513

    浏览量

    25468
  • 软件体系
    +关注

    关注

    0

    文章

    10

    浏览量

    6162

原文标题:如何成为名副其实的测试架构师?

文章出处:【微信号:软件质量报道,微信公众号:软件质量报道】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    架构与设计 常见微服务分层架构的区别和落地实践

    前言 从强调内外隔离的六边形架构,逐渐发展衍生出的层层递进、注重领域模型的洋葱架构,再到和DDD完美契合的整洁架构架构风格的不断演进,其实
    的头像 发表于 10-22 15:34 214次阅读
    <b class='flag-5'>架构</b>与设计 常见微服务分层<b class='flag-5'>架构</b>的区别和落地实践

    Keysight助力提升工程测试测量知识水平

    Keysight为您解锁测试测量领域的最新知识,助力工程在快速变化的科技环境中保持竞争力。
    的头像 发表于 10-16 09:28 406次阅读

    一位架构师的自述:在尚未踏入的世界成为你自己

    这是我参与创作者计划的第1篇文章    我叫艾佳,工作经验14年,编程经验30年。 我来自智能平台部,负责标签平台、标签圈人、标签选品、EasyData、算法数据流的架构工作。 致力于批量
    的头像 发表于 09-23 15:25 352次阅读
    一位<b class='flag-5'>架构师</b>的自述:在尚未踏入的世界<b class='flag-5'>成为</b>你自己

    AMD Vitis统一软件平台2024.1全新发布

    通过新版本,系统架构师和开发者可以进一步优化设计开发流程,同时提升整体系统性能。
    的头像 发表于 09-18 09:34 389次阅读

    RISC-­V架构的目标和特点

    RISC-­V架构的目标 RISC-­V架构的目标如下 成为一种完全开放的指令集,可以被任何学术机构或商业组织所自由使用 成为一种真正适合硬件实现且稳定的标准指令集 RISC-­V
    发表于 08-23 00:42

    全新升级!中央集中式架构功能测试为新车型保驾护航

    目前,文中所述功能测试新方案均已应用于国内多款新架构车型的研发,得到了广泛认可。
    的头像 发表于 07-01 12:13 743次阅读
    全新升级!中央集中式<b class='flag-5'>架构</b>功能<b class='flag-5'>测试</b>为新车型保驾护航

    阿里云发布首个AI程序员,引领应用开发进入“分钟级”时代

    近日,在备受瞩目的阿里云上海AI峰会上,阿里云向全球开发者们展示了其最新的技术成果——首个“AI程序员”。这款创新应用基于通义大模型构建,具备了令人惊叹的多项技能,包括架构师、开发工程测试工程师等,为软件开发行业带来了革命性
    的头像 发表于 06-24 10:36 637次阅读

    中级自动驾驶架构师应该学习哪些知识

    随着自动驾驶技术的成熟,对系统架构师的需求逐渐增加。自动驾驶系统架构师负责设计整个系统的结构、组件、接口和数据流;需要协调不同领域的专业知识,确保系统的可靠性、安全性和性能。总之,自动驾驶系统架构师
    的头像 发表于 06-20 21:47 285次阅读

    初级自动驾驶架构师应该学习哪些知识

    随着自动驾驶技术的成熟,对系统架构师的需求逐渐增加。自动驾驶系统架构师负责设计整个系统的结构、组件、接口和数据流;需要协调不同领域的专业知识,确保系统的可靠性、安全性和性能。总之,自动驾驶系统架构师
    的头像 发表于 06-20 21:45 298次阅读

    爱芯元智持续拓展CMOS图像传感器黄金赛道,引领行业革新

    从多摄手机的普及到安防监控、智能车载摄像头以及机器视觉的飞速进步,CMOS图像传感器成为名副其实的黄金赛道,每年出货量逼近百亿颗大关。
    的头像 发表于 04-19 17:40 600次阅读
    爱芯元智持续拓展CMOS图像传感器黄金赛道,引领行业革新

    如何成为一名嵌入式C语言高手?

    高手需要掌握C语言基础、了解嵌入式系统的硬件架构和工作原理,通过实践项目提升技能,并积极参与开源项目和技术社区。持续学习和自我提升是成为嵌入式C语言高手的关键。相信通过不断努力和实践,我们都可以成为出色的嵌入式C语言高手!
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    高手需要掌握C语言基础、了解嵌入式系统的硬件架构和工作原理,通过实践项目提升技能,并积极参与开源项目和技术社区。持续学习和自我提升是成为嵌入式C语言高手的关键。相信通过不断努力和实践,我们都可以成为出色的嵌入式C语言高手!
    发表于 03-25 14:12

    微软加速转向Rust,加紧招募资深软件架构师

    去年BlueHat大会上,微软公开表示以Rust重编译Windows内核的计划,因其享有现代、便捷且代码易读的卓越性质。值得一提的是,微软推出的Azure Quantum开发工具包(QDK)亦采用了Rust,得以降低99%的代码量与提高100倍的运转速度。
    的头像 发表于 01-30 11:47 564次阅读

    为什么要做自动化测试测试工程师存在的必然性

    软件测试这个过程的实施主体就是测试工程师。那么多少个测试工程师比较合适呢,或者换句话说如上的事情必须要测试工程师完成吗?
    的头像 发表于 01-16 11:32 920次阅读

    MIPS聘请SiFive前高管,推动RISC-V指令集架构IP开发

    在SIFive任职期间,Brad Burgess不仅拓展了敢达三十多年的半导体行业经验,还成功开发了许多适用各类指令集的处理器,如x86、68k、PowerPC、Arm以及如今备受瞩目的RISC-V。此次成为MIPS首席架构师,Burgess将全权负责MIPS新建重磅产品
    的头像 发表于 01-08 11:41 532次阅读