之前发布了三期报告:
-
软件测试技术应用现状调查报告(一)
-
软件测试技术应用现状调查报告(二)
-
软件测试技术应用现状调查报告(三)
这是第四期报告,是针对独立的研究院所与大学的数据进行比较分析,也是最后一期报告。到了这里,整个调查:软件测试技术研究/应用现状 的活动、分析与报告,也算是告一段落。下面,一方面会介绍一些新的测试技术,包括模糊测试、蜕变测试等,另方面,可能针对一些需要澄清的地方做一些补充调查,也可能对自动化测试技术、工具进行一些调查。但不管将来如何,这次调查本身,不仅让我们了解到国内现状,而且对软件测试各种新技术的应用会产生或多或少的促进作用,也对学界和业界的未来更好的合作起了推波助澜的作用 ......
1. 从事软件测试多少年?大学的测试人员构成偏便年轻,研究院所10年以上的测试人要高出大学12%
2. 在结构化测试方法中的应用。研究所普遍偏高,特别是分支覆盖、条件覆盖、MCD等,其中MCDC高达37.25%,要知道公司只有8%,研究院所更关注质量,估计研究院所要么不做测试,要做测试都是一些关键性软件的测试实施与研究。
3. 在基于需求的测试方法的应用/研究。研究院所在等价类划分方法、边界值分析法都高达86~90%,高出大学很多,比公司(业界)比较接近。唯一奇怪的是,决策表方法,研究院所的应用/研究比例很低,需要进一步调查才能知道原因,而基于场景的方法介于大学和公司之间。从测试基本方法来看,研究院所更靠近业界。
4. 基于模型测试(model basedtesting,MBT),总体来看,研究院所要比大学弱得比较多,不清楚的人要多出21%以上(但相对公司要好很多,公司占61%),特别是有限状态机/符号执行的应用/研究,研究院所要低23~24%(公司更低),但模型检查,倒是研究院所胜出,符号执行也高出公司不少(公司只有3.5%)。
5. 如果之前没有应用MBT,原因是什么? 研究所不了解的人数反而偏少,只是想用的人多处不少,但缺少专家指导,需要帮他们解决这个问题。
6. 组合优化测试方法,两者差别不大,虽然研究院所还是偏弱,不清楚的人要高出7%。3+-way组合方法使用明显偏少,比公司(15.5%)都要低。倒是正交试验法、随机组合要比大学高出不少(高20%以上),而基于搜索的优化方法则比大学低不少,比大学低20%以上。总体上看,在组合优化测试方法上,研究院所靠近公司。
7. 在基于搜索的测试方法中,研究院所不清楚的人高达56.86%,但比公司低10%。研究院所和大学差异比较大的是随机算法、进化算法、概率算法、演化算法、元启发算法,都要低10%以上,但蜂群算法、神经网络算法两者比较接近。仔细观察研究院所的数据,随机算法、进化算法、概率算法、蜂群算法、神经网络比较接近,其中随机算法、进化算法、神经网络都是17.65%,说明一通百通?掌握某种基于搜索的测试方法的人,一定会尝试不同的算法,从中选相对更优的算法。
8. 如果之前没有基于搜索的算法,原因是什么? 根据第6项的结果,研究院所不了解的测试人会高出20%以上,“似乎没有应用场景”,研究院所也高出不少。
9. 模糊测试、变异测试非常接近,但随机测试、蜕变测试研究院所低不少,原因是蜕变测试应用场景偏少?在研究院所(甚至业界)随机测试和模糊测试非常接近,是不是等同起来了?
10. 那我们进一步再看看模糊测试(Fuzz Testing)方法,研究院所在稳定性测试、可靠性测试的数据相同,是不是把这两者等同起来?而且高于安全性测试14%,这和大学正好相反,大学将模糊测试应用于安全性测试,要比应用于稳定性测试、可靠性测试要高出14~26%,这是让人不理解的地方。在这方面,研究院所和公司比较接近(规律一致),虽然这三项数据,研究院所都偏低一些。
11. 关于软件测试自动化的突破所依赖的因素看,研究院所更热衷于软件开发的标准化和组件化、软件技术的提高等,而大学更看着人工智能,更相信算法。虽然在软件开发的标准化和组件化上,研究院所和公司的观点一致,但在云计算/云服务上,两者差别很大,公司要高出21%以上。从个人认知看,公司更看着软件技术的提高,但在软件技术上,倒是研究院所比公司要高出近10%,大学是最低的(要比研究院所低近17%)
12. 测试技术研究来源于工业界实际需求,研究院所更接地气,“多数研究+绝大多数研究” 来源于工业界实际需求,研究院所要比大学高出12%。
13. 对当前工业界和学术界的交流满意吗?研究院所要悲观得多,满意要比大学低11%以上,“不满意+很不满意”要比大学高13%以上。虽然公司满意的人更少(6%),但“不满意+很不满意”的人要比研究院所低21%。
14. 对工业界和学术界相互受益充满信心吗?研究院所没有大学那么乐观,大学总体上看,信心十足。但研究院所绝望的人没有,大学倒有2.38%。