首页
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
更多
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
测试三大难题之一 “测试充分性” 的应对策略
科技
2024-06-26 07:36
上海
在《
软件测试三大难题:我们必须面对和解决
》文章中提到三大难题,前面已经讨论了《
测试三大难题之一“Test Oracle”的应对策略
》。下面讨论第2大难题“测试充分性”。
之前提到灵魂之问:“测试可以结束了吗?”
,如果回答“结束了”,是不是说明测完了、软件没有问题了?但我们“不能保证没有问题”,那就说明有问题,那就测试没结束,还可以继续测下去。
类似的,《
软件测试灵魂三问,如何怼回去?
》中的
第一问就是:
“
为什么这个 Bug 测不出来?
”,我们不能总是用 “测试著名原则:测试是不能穷尽的” 作为挡箭牌,如果那样,漏掉任何一个Bug,咱们测试人员都有借口,那么又如何保证质
量呢?
在商业软件中,或面对具有一定规模(几万或几十万、几百万行代码)的软件时,我们无法证明软件没有问题,那就意味着软件常常带着缺陷被发布出去。那么如何保证质量呢?
这就是通过测试充分性来保证
,即使有缺陷被遗漏(没有被发现),那也是隐藏很深、对用户影响很低的缺陷。通过良好的测试充分性将风险降到最低。
谈到“测试充分性”,许多同学首先会想到设计,设计足够
的测试用例来保证,其实是错了,测试充分性能否得到保证,不是测试设计的问题,而是测试需求分析问题,
因为
测试需求分析是确定要测什么——即明确测试范围、测试项等
。
测试的确做不到100%,测试充分性是相对的,取决于测试目标
。想达到什么样的测试目标(结果),就从测试目标出发;测试目标需要明确测试等充分性(测试覆盖率),而想达到什么水平的测试充分性,就需要从你如何定义测试充分性出发。
测试充分性包含三个层次的
:代码层次的测试充分性、系统(功能/非功能)
层次的
测试充分性、
业务层次的
测试充分性,
而“
业务层次的
测试充分性
”最具决定性的。
正如
《
软件测试三大难题:我们必须面对和解决
》一文中说,代码测试覆盖率的数据是不靠谱的,我经常对同学或学员说,
不要看覆盖率的数据,而是要看开发写的单元测试代码
(
未来有了LLM生成测试代码,也许会好一些)
。而且仅仅看行覆盖率、分支覆盖率也是不够的,还需要看变量/参数的取值(边界值、异常值等)、变量的定义和引用等。
系统层次的
测试
充分性带有主观性。
我最喜欢举的例子就是,某系统有5大功能,我写5个测试用例,就能做到功能测试覆盖率100%,但这样的度量显然没有意义。
如果让功能测试覆盖率有意义,那么我们如何做呢?
留一个问题让你自己好好想一想。非功能性测试,往往也是许多团队的弱项,虽然都会做性能测试、压力测试等,但没有衡量其测试覆盖率。
测试经理常常被挑战的,还是那灵魂一问
“如何说明测试可以结束了?”、“测得如何?”,许多测试经理会说,某某功能我们测了,系统性能我们也测了,但上层其实不关心你测了哪些功能、哪些非功能特性
,他们更关心业务表现如何、业务有没有受到影响或改进,
这就是前面说到的 “业务层次的测试充分性”
。那么,如何度量业务层次的测试充分性?国际标准、国家标准似乎都没有提到这点,就连之前号称 “业务驱动测试管理”的TMap模型,也没有很好谈到这个问题。你会怎么考虑或度量?这是留给你的第二个问题😄
概括起来,测试充分性应对策略:
明确什么是测试充分性,包括上面提到的三个层次
对具体的项目,明确其测试目标
以终为始去做好测试分析
基于风险的测试策略是必须的
设计、执行实现基于测试分析的测试目标。
持续改进,不断提升测试分析能力
如果真正想了解如何应对测试充分性,你可以看《全程软件测试(第3版)》,或找机会好好和你聊聊测试分析。
软件工程3.0时代
由于大模型(LLM)正在改变着千行百业,软件工程(SE)更是首当其冲,迎来软件工程3.0新时代:模型驱动研发、模型驱动运维。本公众号将致力于研究SE3.0时代的软件研发新范式、理论与方法,介绍SE3.0时代的工具与实践。
最新文章
敏捷教练会悲伤吗?Agile Alliance已并入PMI
展望2025年智能软件工程
共促软件行业智能化转型,智能化软件开发产业图谱编制正式启动
2024年,大模型驱动的智能软件研发有哪些进展?
汽车将进化成为智能时代的空间机器人
大模型时代的软件工程教育,路在何方?
OpenAI 将一场发布会改为12天直播:Day 1发布了两大产品chatGPT pro和o1正式版
想了解智能化软件工程现状?快来参与 2024 年度调研吧!
做正确之事:软件研发的成功之道
2024 年 12 个最佳UI自动化测试工具推荐
大模型下半场:如何开发出杀手级的工具或应用?
从自动化软件测试到自主测试,还差几步?
错了,打开“深度思考”,的确做对了
让DeepSeek最新推理模型R1-lite做一道数学题,结果走进死胡同了!
重磅消息:Grok-3终结了黎曼猜想?而却因此被迫暂停训练
Tong test:AGI测试评级的标准与平台
“软件质量报道” 下决心迎接 “软件工程3.0时代”
大模型时代的软件研发:正确的打开方式
十大生成式 AI 趋势和20家有前途的初创公司
谷歌DORA:2024年加速DevOps状态报告
AiDD峰会的“AI+测试”议题全面亮相
神了:Claude 3.5能像人一样使用计算机,而且在编程、软件研发上进步显著
邀您共赴年末盛会|QECon北京站议题出炉
深度剖析:字节跳动大模型训练被实习生“投毒”事件
当AI接连不断赢得诺贝尔奖:是人类的终点还是新的起点?
从木匠到AI教父:Geoffrey Hinton的传奇之路
历史性里程碑:诺贝尔物理学奖首次授予AI学者
两张架构图,让你感受一下大模型的惊艳
最新!明天上交所全网测试
A股沸腾,系统被买崩了?压力测试没做好?
Sam Altman昨天发文:AI 奇点近在咫尺,我们将进入“智能时代”
QECon主旨演讲之一:代码大模型改进的双引擎:数据增强和知识增强
强化学习中的自博弈(Self-play)会开启大模型的“后训练”时代?
chatGPT o1 preview用一个小时干完了博士一年写的代码
软件工程3.0的解释
OpenAI o1 新模型在解决博士级别的科学问题上超越人类
AI 大模型:软件研发的革新力量与未来展望
面向开发人员的 12款 强大的 AI 工具(下)
面向开发人员的 12个款强大的 AI 工具(上)
再次扬帆起航:启动2024年「软件研发应用大模型」的调查
推荐一款强大的开源编程助手Cursor
AiDD2024 「AI+研发数字峰会」北京站圆满收官!
由一份财报解读,给您参加AiDD峰会 的四大理由
AI代替了我的右手,而且我再也回不去了!
AI+人访谈录:半路入行找到“人生坐标”
刚刚,与GPT-4o相媲美的开源大模型Llama 3.1发布了!
万字长文技术分析:CrowdStrike导致大规模系统崩溃事件
测试三大难题之一 “测试有效性” 的应对策略
软银孙正义:10年内,超级智能ASI水平将是人类的10000倍
测试三大难题之一 “测试充分性” 的应对策略
分类
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
原创标签
时事
社会
财经
军事
教育
体育
科技
汽车
科学
房产
搞笑
综艺
明星
音乐
动漫
游戏
时尚
健康
旅游
美食
生活
摄影
宠物
职场
育儿
情感
小说
曲艺
文化
历史
三农
文学
娱乐
电影
视频
图片
新闻
宗教
电视剧
纪录片
广告创意
壁纸头像
心灵鸡汤
星座命理
教育培训
艺术文化
金融财经
健康医疗
美妆时尚
餐饮美食
母婴育儿
社会新闻
工业农业
时事政治
星座占卜
幽默笑话
独立短篇
连载作品
文化历史
科技互联网
发布位置
广东
北京
山东
江苏
河南
浙江
山西
福建
河北
上海
四川
陕西
湖南
安徽
湖北
内蒙古
江西
云南
广西
甘肃
辽宁
黑龙江
贵州
新疆
重庆
吉林
天津
海南
青海
宁夏
西藏
香港
澳门
台湾
美国
加拿大
澳大利亚
日本
新加坡
英国
西班牙
新西兰
韩国
泰国
法国
德国
意大利
缅甸
菲律宾
马来西亚
越南
荷兰
柬埔寨
俄罗斯
巴西
智利
卢森堡
芬兰
瑞典
比利时
瑞士
土耳其
斐济
挪威
朝鲜
尼日利亚
阿根廷
匈牙利
爱尔兰
印度
老挝
葡萄牙
乌克兰
印度尼西亚
哈萨克斯坦
塔吉克斯坦
希腊
南非
蒙古
奥地利
肯尼亚
加纳
丹麦
津巴布韦
埃及
坦桑尼亚
捷克
阿联酋
安哥拉