首页 > 汽车技术 > 正文

Qt的QA之变,释放什么信号?

2024-01-25 16:54:27·  来源:汽车测试网  
 

作者:李佳师

今天,软件已经渗透到我们生活、工作的方方面面,从日常生活到复杂的制造业系统、从航空航天到医疗金融等各个领域,软件的质量与可靠性至关重要。眼下,人工智能正改变软件开发编程范式,人机协同开发将成为未来软件开发的重要模式,软件质量保证(QA)从体系架构到流程、工具如何变化才能够更好地适应软件开发的新需求,就成为越来越多用户关注的焦点。最近几年,Qt先后收购了自动化测试工具厂商froglogic和软件架构验证、静态代码分析厂商Axivion,产品线从开发平台和工具向软件质量保证延伸,变成一家涵盖软件开发全周期的解决方案供应商。在最近举行的Qt全球峰会2023中国站上,关于Qt的QA,关于QA之变,有很多干货信息。

收购,对象为何是它们 

当Qt的用户越来越多、Qt的开发者队伍越来越庞大,从设计构建工具、开发平台向质量保证和管理领域延伸,变成涵覆盖软件开发全周期的解决方案供应商,很好理解。这既是软件开发全流程所需,也是一个持续高速增长的市场,用Qt Group首席执行官Juha Varelius的话说,这是一个保持两位数增长的市场。

事实如此,即便是在当下充满挑战经济下行压力下,最新数据显示,软件开发和质保技能仍然是企业在数字经济中蓬勃发展的重中之重。Qt Group产品管理高级副总裁JuhaPekka Niemi 表示,尽管经济市场存在不确定性,但企业仍在寻找并努力招聘开发人才,而利用跨平台开发框架和质量保证工具来完善设计和开发流程,提高效率,开发者就能在开发、测试和维护方面实现改进,加快整体上市时间。

应该说,市场上从事软件自动化测试与静态代码分析的厂商不少,为何并购对象是froglogic和Axivion?对于这个问题,除了Qt Group的CEO, 这次出席Qt峰会的有关负责人都不会直接回应,但峰会上关于Qt的QA相关信息分享,释放出这样的答案。

一个原因是这两家厂商的工具和解决方案与Qt平台高度贴合,这两家公司在被收购之前,其工具已经被大量Qt 用户所采用。当然这两家厂商的工具除了对Qt非常友好外,也支持非Qt的测试场景。Qt Group中国工程师张帆与姜泓都谈及了froglogic和Axivion技术与Qt的高度贴合性。

事实上,froglogic两位创始人都曾在Trolltech(1995首次公开发布Qt)参与开发Qt。他们创建froglogic、发布Squish的初衷就是为Qt应用程序提供GUI自动化测试解决方案。而“学院派”出生的德国Axivion支持C/C++、C#的下一代静态代码工具,其中针对Qt的静态测试规则进行了定制,能够对Qt开发的应用进行很好地静态代码扫描。

另外一个原因是这两家公司在软件质量保证领域有很多“独门秘籍”。

从软件测试工具来看,众多周知,基于Linux的自动化测试工具不多,在嵌入式领域就更少,作为跨平台、支持多框架的自动化测试工具Squish既然支持基于对象的识别,也支持基于图像、OCR进行界面的自动化测试,针对跨平台的GUI应用只用一套测试脚本就可以在Windows、Linux、Android、Mac OS上跑,对于用户来说非常方便,省时、省力。

Axivion作为在静态代码分析工具,误报率低,准确性高,代码规则覆盖全面,并拥有架构验证功能,能够将架构设计与代码实现进行验证,这是Axivion独有的,非常适合需要长时间运行的项目,尤其适用于航空航天、汽车、铁路、医疗、能源、测量与控制等安全关键性的产品。

编程越AI  QA越重要?

收购froglogic和Axivion时,Qt首席执行官Juha Varelius或许也没有料想到这一波由ChatGPT引发的人工智能浪潮来得如此快,AI正深刻影响软件开发。当越来越多的代码基于AI生成,而开发者越来越多地转向软件创意、策划、构架、规划、分析等维度时,软件测试与质量保证的重要性更进一步凸显出来。

AI生成的代码越多,需要的测试验证的代码也就越多。2023年6月,GitHub对500位美国企业开发者调研中,92%受访者表示正在工作内外使用AI编码工具,这意味着在软件开发上需要做的代码验证、架构验证、安全验证也将越来越多,使得质量保证工具和解决方案有了更多、更大的用武之地。

之所以说Qt的QA在AI时代大有用武之地,而且优势进一步凸显出来,是因为其QA方案能够很好地解决人机协同软件开发所带来的诸多挑战。

一方面是“全方位”、“无死角”。目前,Qt构建了包括Squish、Coco、Test Center、Axivion Suite等全套“QA全家桶”来保证软件的质量。其中,Squish侧重桌面、移动、嵌入式、Web应用的跨平台GUI自动化测试;Coco是一款跨平台、跨编译器的代码覆盖率分析工具;Test Center提供测试结果集中管理平台;Axivion Suite对架构与代码实现进行验证并通过静态代码分析检查代码是否违规。这样的QA工具组合能够将AI与人协作开发软过程中有可能出现的问题,进行“无死角”的“围追堵截”、全面消除。

二是高度自动化、智能化,大大提升了测试与验证的效率。以测试代码覆盖率为例,测试代码通常要比生产代码多很多。即便只有小段源代码,测试工程师也常常需要编写大量单元测试才能实现100%的覆盖率。“如果代码覆盖率从50%到51%需要几分钟,提升到90%可能需要一个小时,但达到100%时,测试时间会呈指数级上升。对于某些产品来说,要达到100%的代码覆盖率可能需要几个月,”Coco高级开发工程师Sebastian Fricker在近期一篇名为《代码覆盖率分析的新时代》博文中表示,Coco能够自动生成软件测试数据,以提高测试质量并帮助覆盖各种边缘或错误情况,而无需大量的人工测试,这意味着企业能够用更少的时间、更少的人力测试更多代码。

Qt的QA工具高效,还体现在合规与标准的快速适配上,很多时候,业界的相关编码标准刚出台,立刻实现与之同步支持。比如2023年12月,Qt发布Axivion Suite 7.7,该版本的MISRA检查器提供了对MISRA C:2012和MISRA C:2023标准的全面支持。MISRA C:2012和MISRA C:2023是MISRA(汽车行业软件可靠性协会)提供的编码标准,有助于确保软件的安全性和可靠性,虽然它的重点行业是汽车,但它的原则同样应用于其他安全关键型行业。事实上,MISRA C:2023标准刚刚发布不久, Axivion Suite7.7已支持了该标准的大部分规则检查,并不断补充完善,以实现对所有自动可测试规则的完全覆盖。

三是以测试左移的思路持续推动其QA方案的演进。传统的测试方式是软件开发完成,才会启动相关的测试验证工作,而将测试左移将测试工作提前到开发早期并贯穿在整个开发过程,就能提前发现问题,减少返工,提升效率节约成本。Qt的QA在诞生之时就具备了测试左移的特征,比如将静态代码测试挤进更小的迭代中,避免最后测试带来的大返工。现在Qt进一步将左移测试贯穿在下一代QA方案的持续演进上。

据悉,即将发布的Squish 8.0将提供基于模型的测试。对于能够在抽象建模级别工作的复杂软件系统和团队来说,基于模型的测试可以帮助团队避免迷失在细节中,专注于重要的事情,通过可视化模型编辑界面,支持可视化编辑、执行测试和测试结果展示让团队间的沟通更轻松;最重要的可以进一步实现左移测试在项目实施之前与利益相关者共享模型,以验证需求并找出需求中的差距。

此前,Qt Group产品总监罗淼曾表示,AI与开发工具结合将带来一些颠覆性的机会。作为软件开发全生命周期生产力工具的重要组成部分,软件质量保证工具与AI的结合正在改变QA。让软件测试与质量保证工作变得更轻松、高效,Qt会持续在路上。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号