爱思维尔

系统与软件杂志

第86卷第5期,2013年5月,第1354-1376页
系统与软件杂志

加拿大软件测试实践调查

https://doi.org/10.1016/j.jss.2012.12.051获取权限和内容

摘要

软件测试是软件开发生命周期中的一项重要活动。在2009年的一项早期研究中,我们报告了一项对加拿大阿尔伯塔省从业者进行的软件测试实践的区域调查结果。为了在全国范围内(加拿大全国范围内)了解这一主题,我们在2010年进行了一项更新的调查,修订了问题列表。与我们之前在阿尔伯塔省范围内进行的调查(53名软件从业人员)相比,这项全国性调查的参与者人数更多(246名从业人员)。本文报告了调查的设计、实施和结果。调查结果揭示了加拿大软件测试实践的重要和有趣的发现。只要有可能,我们还会将这项调查的结果与其他类似的研究进行比较,例如在美国、瑞典和澳大利亚进行的调查,以及之前两次在艾伯塔省范围内进行的调查,包括我们2009年的调查。我们的调查结果将对加拿大和世界各地的专业测试人员感兴趣。它还将有助于研究人员观察软件测试行业的最新趋势,确定优势和劣势,然后有望鼓励在这一领域进一步的行业-学术合作。研究结果如下:(1)测试相关培训的重要性日益增加,(2)功能测试和单元测试是两种最受关注和投入最多的测试类型,(3)变异测试方法的使用正在加拿大企业中受到重视,(4)传统的测试-最后一次开发(TLD)风格仍然占主导地位,少数公司正在尝试测试驱动开发(TDD)、行为驱动开发(BDD)等新的开发方法;(5)在最流行的测试工具方面,NUnit和Web应用程序测试工具超过了JUnit和IBM Rational tools,(6)大多数加拿大公司使用两个覆盖率指标的组合:决策(分支)和条件覆盖率,(7)通过用户验收测试的数量和每天(每周或每月)发现的缺陷数量被视为最重要的质量保证指标和要发布的决策因素,(8)在大多数加拿大公司中,测试人员的数量远远超过开发人员,比例在1:2到1:5之间,(9)大多数加拿大公司在开发过程中花费不到40%的精力(预算和时间)用于测试,以及(10)超过70%的受访者参与了测试在线讨论定期与测试相关的论坛。

集锦

我们报告了2010年全加拿大软件测试实践调查的结果。246名实践者软件工程师参与了调查。加拿大考试相关培训的重要性近年来一直在增加。功能测试和单元测试是两种最常见和应用最广泛的测试类型。

介绍

软件测试是软件开发生命周期中一项重要且代价高昂的活动。此外,不充分的软件测试通常会导致重大的风险和后果。例如,美国国家标准与技术研究所(NIST)2002年的一份报告(Tassey,2002年)报告说,仅在美国缺乏软件测试基础设施造成的负面经济影响就达每年620亿美元。不用说,其他国家也有类似的挑战。

2002年,加拿大工业部发起的一项软件工程实践国际调查(Rubin等人,1995年)发现,“以每KLOC(千行代码)的缺陷来衡量,加拿大的软件具有最高的缺陷率”。该研究还指出,“加拿大的工作概况表明,集中在缺陷纠正方面的资源比例最高”。根据这项调查(Rubin等人,1995年),加拿大软件业生产的软件在西方国家中处于软件质量谱的低端,需要在缺陷修复方面付出相当大的努力(Geras等人,2004年)。

为了在全球范围内取得成功,加拿大公司必须达到或超过领先软件出版商的质量标准,尤其是在电子商务时代。典型的基于web的电子商务应用程序团队必须处理快速变化的互联网基础设施、快速的周转时间和较短的发布间隔。特别是,软件消费者不断提高的期望值将要求更高的质量标准(Geras等人,2004年)。加拿大软件业目前的状况与需要的差距似乎仍然很大。尽管上述情景描述了加拿大的观点,但大多数主要国家都面临着类似的困境。为了在国际上取得成功,它们需要一个强大的信息技术(IT)部门。

全世界的IT部门都面临着在预算内按时交付高质量产品的巨大挑战。斯坦迪什集团是一家知名的信息技术项目和价值绩效分析市场研究公司,定期就这一主题发表一系列名为《混沌》的报告。根据2001年CHAOS报告(Standish Group,2001年)调查了大量的IT项目,只有28%的项目成功(按时、按预算交付,具有所需的特性和功能)。其中23%失败(即在完工前取消或交付且从未使用过),49%的人“受到挑战”(即迟到、预算超支和/或功能低于要求的特性和功能)。2009年的情况只会变得更糟,根据最新的2009年混乱报告(Standish Group,2009年):只有32%的IT项目成功,44%失败,24%面临挑战。事实上,软件测试和质量保证是决定软件项目成败的主要基础。

2002年4月,Hayes的一项调查显示,在800名员工中,有90%或97%的员工在软件成本方面出现了问题。除此之外,令人惊讶的是,软件测试目前平均消耗了软件开发总成本的80%(Tassey,2002)。这种相对悲观的软件行业观点导致我们对我们的方法和实践提出质疑。鉴于测试在新的软件开发方法中越来越重要的作用,本研究侧重于软件测试方法和实践。

在2004年的早期研究中,我们的同事Geras et al.(2004)描述了在加拿大阿尔伯塔省对软件测试和软件质量保证技术进行实践的区域调查的结果。第一次研究五年后,我们在2009年复制了他们的调查,分析了2004年至2009年的趋势变化,并在《系统与软件杂志》(JSS)上发表了一篇文章(Garousi和Varma,2010年)。为了在全国范围内更广泛地了解这一主题(加拿大),我们在2010年进行了一项更新的调查,更新了问题列表。我们在本文中报告了我们最新的2010年全加拿大调查的设计、执行和结果。

本文其余部分的结构如下。第2节介绍了相关工作的概况。第3节介绍了调查的设计和执行情况。第4节介绍并分析了调查结果。第5节总结了调查结果并讨论了经验教训。最后,在第六部分,我们得出结论,并提出进一步研究的领域。

节代码段

相关工作

在不同国家和规模的软件测试实践中,已经进行了大量的调查。我们的文献检索已经确定了一些研究(Geras等人,2004年,Garousi和Varma,2010年,USGAO,1983年,Gelperin和Hetzel,1988年,QAI,2002年,Anderson和Runeson,2002年,Runeson等人,2003年,Torkar和Mankefors,2003年,Ng等人,2004年,Taipale等人,2005年,Wojcicki和Strooper,2006年,Runeson,2006年,Grindal等人,2006年,Martin等人,2007年,Ambler,2009年,

勘察目标、设计和实施

第3.1节介绍了调查目标和研究问题,然后在第3.1节中介绍了调查的设计。第3.2节讨论了调查的执行情况和对受访者人口的统计。为了进行这项调查并报告其结果,作者受益于Wohlin等人提出的案例研究研究指南(Runeson and Höst,2009,Wohlin等人,2000)。

调查结果和调查结果

我们详细报告了调查结果并分析了调查结果。结果的呈现顺序与调查设计中的顺序相同(表2)。

参与者概况和人口统计(第4.1节)。

试验类型和等级(第4.2节)。

测试技术(第4.3节)。

测试自动化和测试工具(第4.4节)。

测试指标(第4.5节)。

测试管理(第4.6节)。

测试培训(第4.7节)。

研究和与学术界的互动(第4.8节)。

讨论

第5.1节讨论了我们的研究结果摘要。第5.2节讨论了经验教训。第5.3节讨论了对我们研究有效性的潜在威胁,以及我们为减少或减轻这些威胁而采取的措施。

结论与未来工作

由于这项调查的结果,作者观察到加拿大工业最近越来越重视检测的重要性。这可以通过提高与测试相关的培训意识来观察到。此外,第一作者在过去几年里一直在艾伯塔省提供工业培训班和考试活动,他观察到这些课程越来越受欢迎。测试在敏捷方法中扮演重要角色的更广泛的接受似乎也

致谢

瓦希德·加鲁西得到了第。341511-07号加拿大自然科学与工程研究委员会(NSERC),由土耳其科学技术研究委员会(TUBITAK),以及艾伯塔省创新新教师奖编号200600673。

作者要感谢弗兰克·莫雷尔、雪莉·帕克、克里斯蒂安·维德塞纳、艾丝·贝纳和艾丝·托森,感谢他们为调查和

瓦希德·加鲁西他是土耳其安卡拉中东技术大学(METU)的软件工程客座教授。他还是加拿大卡尔加里大学的副教授。他也是一名执业软件工程师和教练,并定期在北美地区提供软件测试和质量保证、模型驱动开发和软件维护方面的咨询和公司培训服务。在他的职业生涯中,瓦希德

工具书类(五十五)

  • 五。加鲁西等等。

    加拿大阿尔伯塔省软件测试实践的重复调查:从2004年到2009年发生了什么变化?

    系统与软件杂志

    (2010年)
  • A。亚伯兰等等。

    软件工程知识体系指南

    (2001年)
  • 美国。阿里等等。

    支持基于模型测试的产品线建模与配置方法:一个工业案例研究

  • 美国。安布勒

    测试驱动开发(TDD):现实高于修辞

    多布博士的日记

    (2009年1月)
  • C。安德森等等。

    工业中的验证和确认——对实践状态的定性调查

  • 五、 R。巴西利

    软件建模与度量:目标/问题/度量范式,技术报告

    (1992年)
  • (加拿大)软件工程联合会。www.cser。ca(四月访问。。。
  • A。饮食用钢

    解决软件工程研究中重复调查的挑战

  • A。因果关系等等。

    当代软件测试的产业调查

  • J、 R。科迪

    了解现实-工业采用软件维护自动化的实际障碍

  • L。脆蛋白等等。

    敏捷测试:测试人员和敏捷团队的实用指南

    (2008年)
  • M、 A。库苏马诺等等。

    网络时代的软件开发

    IEEE计算机

    (1999年)
  • E。英格斯特伦等等。

    回归测试实践的定性研究

  • 五。加鲁西

    开放式现代软件测试实验室课件:体验报告

  • 五。加鲁西

    软件行业的最新趋势:受邀的学术界合作机会

    (2010年6月30日)
  • 五。加鲁西

    软件测试中的度量与度量

  • 五。加鲁西

    将真实世界的工业测试项目纳入软件测试课程:机遇、挑战和经验教训

  • 五。加鲁西

    通过大学/行业合作,邀请演讲,更好地进行软件测试

    (2011年9月20日)
  • 五。加鲁西等等。

    北美学术界软件测试教育的现状及对新教师的几点建议

  • 五。加鲁西等等。

    加拿大软件测试实践调查(2010)

    (2012年10月)
  • D、 A。加文

    管理质量:战略和竞争优势

    (1988年)
  • D。吉尔佩林等等。

    软件测试的发展

    ACM的通信

    (1988年)
  • A、 M。杰拉斯等等。

    阿尔伯塔省软件测试实践调查

    加拿大电气与计算机工程杂志

    (2004年)
  • M。格林达尔等等。

    论软件生产组织的测试成熟度

    测试:学术和工业会议实践和研究技术

    (2006年)
  • M。海斯

    质量第一

    信息周

    (2002年)
  • K。伊比利亚等等。

    估计测试人员与开发人员的比率(或否)

  • 国际商用机器公司

    IBM卡斯康(高级研究中心会议)

    (2012年)
  • 引用人(124)

    • 反应:详细调查

      2022年,印度尼西亚电气工程和计算机科学杂志
    • 基于云计算环境的服务性能测试研究综述

      2022年,《软件杂志:进化与过程》
    向右上箭头查看Scopus上所有引用的文章

    瓦希德·加鲁西他是土耳其安卡拉中东技术大学(METU)的软件工程客座教授。他还是加拿大卡尔加里大学的副教授。他也是一名执业软件工程师和教练,并定期在北美地区提供软件测试和质量保证、模型驱动开发和软件维护方面的咨询和公司培训服务。在他的职业生涯中,瓦希德一直积极与加拿大和跨国软件公司在加拿大发起几个主要的软件测试和软件工程项目。瓦希德于2006年在加拿大卡尔顿大学(Carleton University)完成了软件工程的博士学位。他的博士工作是实时软件系统的性能测试。他曾作为组织或项目委员会成员参与过不同的软件工程会议委员会,如ICST、ICSP、CSEE&T和MoDELS。他是IEEE和IEEE计算机协会的成员,也是加拿大阿尔伯塔省的注册专业工程师(P.Eng.)。他被选为2012-2014年IEEE计算机协会杰出访客计划(DVP)的杰出观众(演讲者)。2007年6月,他获得了艾伯塔省创新新教师奖。

    君济志是卡尔加里大学计算机科学系的硕士研究生。他的研究兴趣包括:软件文档和维护成本的优化,软件测试,经验软件工程和软件发布计划。

    查看全文