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敏捷测试过程模型

审核编辑 :李倩

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

    关注

    30

    文章

    5888

    浏览量

    89283
  • 架构
    +关注

    关注

    1

    文章

    532

    浏览量

    26506
  • 软件体系
    +关注

    关注

    0

    文章

    10

    浏览量

    6276

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    分享一个驱动开发工程学习路线图

    驱动工程的成长核心是“从硬件交互到系统设计”的能力跃迁,不同阶段需聚焦不同目标:新手重“落地执行”,进阶重“问题解决”,资深重“架构设计”,架构师重“战略决策”。今天分享一个各阶段详细路径,附技能
    发表于 11-12 10:44

    在TR组件优化与存算一体架构中构建技术话语权

    需要掌握HBM2e接口协议 类脑计算要求理解脉冲神经网络(SNN) 光子计算涉及硅基光电子集成技术 参与某国家级AI芯片项目的团队透露,核心研发人员均具备\"处理器架构师\"
    发表于 08-26 10:40

    作为一名PCB质检工程,我为什么在用手持式面铜测试仪?

    在PCB行业,铜厚一直是决定阻抗、散热与可靠性的关键指标。过去,工程把板子搬到实验室、等待台式铜厚仪出结果;作为一名PCB质检工程,如今,我更愿意把“实验室”揣进口袋——手持式面铜测试仪正在
    发表于 08-11 11:59

    Tenstorrent 首席架构师:未来 RISC-V 会是计算机的主流

    强,适合定制化需求等。在 7 月 17 日第五届(2025)RISC-V 中国峰会的主论坛上,Tenstorrent 首席架构师 Wei-Han Lien 表示,Tenstorrent 投入了大量人力
    发表于 07-17 11:26 1397次阅读

    如何释放异构计算的潜能?Imagination与Baya Systems的系统架构实践启示

    报告作者:PallaviSharma,Imaginaiton产品管理总监Dr.EricNorige,BayaSystems首席软件架构师关注Imagination公众号,消息框发送【异构计算】,即可
    的头像 发表于 06-13 08:33 838次阅读
    如何释放异构计算的潜能?Imagination与Baya Systems的系统<b class='flag-5'>架构</b>实践启示

    Arm架构何以成为现代计算的基础

    2025 年 4 月,Arm 架构迎来了问世 40 周年。这个始于英国剑桥一隅、怀揣雄心壮志的项目,如今已成为全球广泛采用的计算架构。从传感器、智能手机、笔记本电脑,到汽车、数据中心等诸多领域,有数十亿设备如今运行在 Arm
    的头像 发表于 05-20 10:02 946次阅读

    问,成为硬件工程需要几只手?#硬件工程 #YXC晶振 #扬兴科技 #搞笑

    硬件工程
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    如何成为一名合格的KaihongOS北向应用开发工程

    如何成为一名合格的北向应用开发工程 在快速发展的软件开发领域,北向应用开发工程是一个专注于系统级应用开发的高需求职位。 以下是成为一名合格的KaihongOS北向应用开发工程
    发表于 04-23 06:46

    如何成为一名嵌入式软件工程

    如何成为一名嵌入式软件工程? 01明确岗位的角色与定位 嵌入式软件工程主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集成,以实现特定的功能。 不仅需要精通编程语言(如C/C++
    发表于 04-15 14:37

    集成API设计+测试+文档管理,全新一站式解决方案SmartBear API Hub功能介绍

    SmartBear全新推出API Hub,助力高效应对API开发挑战! API Hub专为API开发者、架构师、产品经理和QA团队打造,将设计、测试、治理和文档集成到一个单一平台中,带来无缝的开发体验,可帮助简化工作流程,增强协作,并确保大规模应用时的安全与质量。
    的头像 发表于 04-08 17:52 640次阅读
    集成API设计+<b class='flag-5'>测试</b>+文档管理,全新一站式解决方案SmartBear API Hub功能介绍

    如何成为嵌入式开发工程

    如何成为嵌入式开发工程成为嵌入式开发工程通常需要掌握一系列技能和知识,并且在实践中不断积累经验。以下是一些基本步骤和建议: 1. 基础教育:- 获取电子工程、计算机科学或相关领
    发表于 02-19 10:39

    一个优秀的嵌入式软件“架构师” — AWFlow

    在大型项目的软件开发过程中,模块化开发面临着接口设计不合理、代码冲突以及模块间不兼容等问题,导致团队协作效率低下。为了解决这些问题,嵌入式软件“架构师”—AWFlow,应运而生!在大型项目
    的头像 发表于 02-10 16:44 775次阅读
    一个优秀的嵌入式软件“<b class='flag-5'>架构师</b>” — AWFlow

    高性能计算,名副其实的“算力皇冠”

    近年来,从金融到汽车、从教育到医疗,人工智能技术,特别是以ChatGPT为代表的生成式人工智能,正在给整个世界带来颠覆性体验。在如今这个“人工智能时代”,人工智能技术的发展离不开服务于AI算法训练和推理的高性能计算技术。今天,我们就来聊一聊高性能计算。计算机科学的“皇冠”初次涉及高性能计算,可能许多人会按照字面意思理解为计算性能较好的算法,从而将其列入众多算
    的头像 发表于 02-08 14:27 1294次阅读
    高性能计算,<b class='flag-5'>名副其实</b>的“算力皇冠”

    英特尔前Xeon首席架构师加盟高通

    。 Kottapalli在英特尔度过了长达28年的职业生涯,期间他担任了Xeon处理器首席架构师及高级研究员等关键职务。在英特尔,他以其深厚的专业知识和卓越的领导能力,成为该公司服务器芯片设计的核心人物之一。 对于此次加盟高通,Kottapalli表示,他期待能在高通这个
    的头像 发表于 01-15 15:30 722次阅读

    如何成为一名合格的北向应用开发工程

    在快速发展的软件开发领域,北向应用开发工程是一个专注于系统级应用开发的高需求职位。 以下是成为一名合格的KaihongOS北向应用开发工程的建议。 1. 基础知识 编程语言 :学习至少一种编程
    发表于 01-10 10:00