为了保证软件整体质量,软件测试和初始质量保证是必须的但并非唯一任务。在高质量软件的开发过程中,功能需求也至关重要。基于功能需求开发的软件模型在部分自动化的过程中进行测试和优化。近期,MES的专家正在为林德物料搬运有限公司(以下简称林德公司)的以上测试步骤进行优化。林德公司已将MES的两个软件质量工具,即用于动态测试的MES Test Manager®和用于静态测试的MES Model Examiner®纳入其开发流程中。

功能需求构成了各部门人员对开发中的软件产品达成共识的基础。这种共识对于所有参与软件开发过程的人员来说都至关重要。在一个项目中,编写软件功能需求首先将耗费大量时间。此外,来自不同部门的同事在不同的岗位上必须一起合作。因此,除了需求工程师,软件开发人员和特定功能的测试人员都应该参与到这个过程中。这有助于避免不必要的审查,并确保在开发项目的早期阶段就有良好的质量需求。此外,这大大提高了软件开发和测试的效率,并最终成就优质的软件质量。当需求工程师、开发人员和测试人员在早期阶段进行合作时,也有助于降低项目的成本。

在制定需求时,如果使用自然语言,就要面临由语言的不准确而产生歧义的可能性。因此,需求既要明确又要可理解。最理想情况下,应该没有因差异解读而产生歧义的空间。形式化的需求,如MTest可评估需求语法(Assessable Requirements Syntax,简称MARS)中使用的需求,可解决这个问题。通过使用MARS编辑器,借助其明确的语言和对“需求”创建的指导,这样写出来的软件需求明确且易于理解。由此一来,开发人员可以更有效地处理各个过程步骤——从创建软件需求到基于需求的软件测试,为项目节省大量时间和金钱。

寻找合适的合作伙伴

林德公司就引进基于模型的开发向MES模赛寻求支持。在MES学院和MES测试中心的配合下,MES模赛思和林德公司确定了一个系统而全面的质量保证流程。该流程的主要目的之一是即使在开发团队工作量饱和的情况下也能确保软件的高质量。

在林德公司逐步引进软件质量工具的同时,也在软件开发过程中引入相应步骤。如前所述,待开发软件的功能需求是整个开发过程的基础,它们是保证软件最高质量的关键所在。在合作早期,MES测试中心帮助林德公司的需求工程师创建具体需求。在项目审查阶段,将检查这些需求的可理解性和可测试性。然后,需求工程师和软件开发人员合作将这些需求翻译成正式的MARS语言。

林德公司专业软件工程师Philipp Hezel解释道:"有了明确定义的语言区域,就可以写出清晰无歧义、形式统一的需求。此外,通过在开发过程中测试,可以减少技术债务。"

MES模赛思和林德公司在一些重要的流程步骤上进行合作,如定义测试进入和退出条件。软件模块一旦测试完成,就会在一个联合流程中进行审查。然后,完成的测试项目被移交给林德公司。这些项目包含实际测试案例以及环境参数形式的结果数据。此外,MES模赛思还提供了自动测试评估,包括测试结果的详细文件和实现的测试范围。

林德公司的高级专业软件工程师兼项目经理Kilian Abb对他所负责的项目这样评价道:"MES模赛思的团队成员在实际工作中解决问题的能力在帮助我们建立新流程步骤和按时完成项目方面起到了重要作用。同时,在MES模赛思的帮助下我们也建立了公司内部独立的测试部门。"

以上成果也是后来林德公司独立进行回归测试的基础。测试结果的可追溯性在任何时候都能得到保证,调整和修改过的需求也可以随时快速重新测试,而无需依赖服务提供商。

关于MES模赛思: 软件质量尽在控制之中

模赛思软件技术有限公司(Model Engineering Solutions),简称MES)是一家来自德国柏林的高科技软件公司,专为软件项目的质量保障提供解决方案。

MES为客户基于模型的软件开发提供技术支持,使其符合IEC 61508、ISO 26262和ASPICE等行业标准。MES模赛思成立于2006年,总部位于德国柏林。Hartmut Pohlheim博士作为基于模型的开发领域最著名的专家之一,自2008年起任公司常务董事。MES的主要客户包括整车厂如戴姆勒、大众、丰田和吉利等以及博世、西门子和三星等行业供应商。在汽车行业中,除少数几家公司外,全球数十家顶尖制造商及供应商均在他们的开发环境中使用MES的解决方案。为支持其全球客户,MES已在美国和中国建立了子公司,并与全球分销商网络紧密合作。

MES的产品包括4种质量工具软件:MXAM、MES Test Manager®、MoRe和MQC,它们共同构成了一个工具链,全面保障基于模型的软件开发过程中所有阶段的质量。通过MES Jenkins Plugin,该工具链也可以在持续集成环境中使用。工具链主要应用平台为MATLAB®/Simulink®。除了MES质量工具外,MES测试中心和MES学院的专家们还为全球客户提供关于质量保证和开发流程优化的定制咨询服务及培训课程。

MES是dSPACE 公司的战略合作伙伴和MathWorks及ETAS的产品合作伙伴。MES学院与SAE International有合作关系。

林德物料搬运公司成功案例:基于功能需求开发的软件模型质量保障相关推荐

  1. 基于JavaSwing开发画图软件 课程设计 小作业 大作业源码

    基于JavaSwing开发画图软件(大作业/课程设计) 开发环境:   Windows操作系统 开发工具:MyEclipse/eclipse/idea+Jdk 运行效果图: 基于JavaSwing开发 ...

  2. 使用基于模型设计开发AUTOSAR软件组件

    本文翻译的是Mathworks公司撰写的Development of AUTOSAR Software Components with Model-Based Design,希望与大家一起共同学习进步 ...

  3. [树莓派]基于Python开发树莓派软件流程

    基于我个人习惯. 即使在树莓派上面,也习惯整一个可视化页面出来 环境说明 硬件 : 任意树莓派~我是 3B+ 和 4 OS : Raspberry Pi OS 开发语言 : Python 可视化UI开 ...

  4. 基于MATLAB开发AUTOSAR软件应用层模块-part4.将MATLAB生成的ARXML文件导入到达芬奇Developer

    上篇我们介绍了模型生成的ARXML文件,这篇我们介绍如何将生成的ARXML文件导入到Developer中. 首先打开Developer的软件,如下图: 这是developer的主界面,我已经加载了一个 ...

  5. 基于MATLAB开发AUTOSAR软件应用层模块-part17.AUTOSAR Dictionary编辑AUTOSAR元素-CS interface

    这篇文章我们介绍如何在数据字典里建立CS interface,同时举例介绍一下两个SWC如何通过CS interface实现函数调用. 首先我们看下SERVER SWC如何实现,下图是我建的一个列子模 ...

  6. 嵌入式:ARM常用开发编译软件介绍

    文章目录 编译器介绍 1.ADS1.2 2.ARM RealView Developer Suite (RVDS) 3.IAR EWARM 4.KEIL ARM-MDKARM 5.WIN ARM-GC ...

  7. python开发的著名软件公司_软件开发公司_软件外包_项目外包平台基于Python开发一个全文检索系统...

    基于Python开发一个全文检索系统.功能要求为: 使用全文检索引擎对文本进行检索.文本的格式为Word.PDF.TXT. 同时按数据域进行复合条件检索.数据域指文本对应的信息,例如创建人.文件编号. ...

  8. 分享]基于Web开发资料专集

    分享]基于Web开发资料专集 [这个贴子最后由huili46在 2006/02/17 04:17pm 第 4 次编辑] 本专集包含的内容如下: [color=#008B8B] 网页设计制作标准规范 [ ...

  9. 基于Andro平台的软件开发若干关键技术研究(笔记)

    基于Android平台的软件开发若干个关键技术研究 摘要:随着移动智能终端的飞速发展和广泛普及,移动GIS应用正迅速迅速成长,并且成为最有发展前景的热点之一.作为移动GIS应用的分支,基于Androi ...

  10. 为什么很多公司转型Go语言开发?Go语言能做什么

    来源:http://t.cn/EXZCk88 1.为什么选择Go语言 选择Go语言的原因可能会有很多,关于Go语言的特性.优势等,我们在之前的文档中也已经介绍了很多了.但是最主要的原因,应该是基于以下 ...

最新文章

  1. 牛顿求平方根法(输入是double,输出也是double)
  2. easyui 传递参数报错(错误:uncaught SyntaxError: Unexpected identifier)
  3. 开关二极管的导通和截止条件
  4. MUI多端发布开发指南(终于把MUI的使用场景说清楚了)
  5. 象棋中常用的最小值最大值算法及剪枝算法
  6. win7系统应用程序安装不了的解决教程
  7. 手把手教你如何使用Python执行js代码
  8. Git学习总结(18)——让你成为Git和GitHub大神的20个技巧
  9. Bioconductor Workflows
  10. JAVA开发面试常问问题总结2
  11. 201521123026《Java程序设计》第2周学习总结
  12. 01-C语言之父:丹尼斯·里奇
  13. 学习Java必读的10本书籍
  14. 期末了给孩子们一些鼓励吧!用Python批量制作【纸质】奖状的方法请查收!
  15. 物联网应用案例:镇海智慧水务
  16. 如何求七参数以及七参数在软件中的应用
  17. unity 代码拷贝材质球
  18. 无线通信-信道模型概念(Wireless Communication Overview)
  19. 服务器网站扩容一年1g价格,服务器网站扩容 一年1G价格
  20. 现代密码学:数字签名

热门文章

  1. asp程序ajax怎么写,ASP+AJAX+ACCESS数据库实例讲解三个步骤分享
  2. android自动登录_游戏社区App (三):客户端与服务端的加密处理 和 登录
  3. eclipse解压版_Eclipse配置JavaWeb开发环境
  4. ulimit和core文件的使用方法
  5. NGN学习笔记4——软交换中的协议2—Megaco/H.248
  6. [译] Redux vs. React 的 Context API
  7. egret性能优化总结
  8. 三层代码的bll dal 层优化
  9. 如何在 FineUIMvc 中引用第三方 JavaScript 库
  10. 【MPI0】学习资料搜集