速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

.NET 自动探索式测试工具——Pex

  • 2008-07-20
  • 本文字数:642 字

    阅读完需:约 2 分钟

Pex 是微软研究院的一个白盒测试生成工具。不像我们平时在给定的方法中为每个执行路径手写独立测试,Pex 允许开发人员编写单独的参数化测试方法。这样 Pex 就能生成一套标准的单元测试,在目标方法里测试执行路径。Pex 一个指令一个指令地分析.NET 代码,解释代码执行时的动作,然后“以一种完全自动的方式,计算出那些能触发边角代码的相关测试输入。”

给定一个手写的参数化单元测试,Pex 完全自动地分析代码,来决定相关的测试输入。其结果就是生成一个有着高度代码覆盖的传统单元测试,另外,Pex 还会建议程序员如何去修复所发现的 Bug。

Pex 实际上并没有减少开发人员多少工作量,他们依然需要手写那些定义和覆盖了方法基本行为的单元测试,来确保 API 和函数符合必要用例和用户故事的需求。但是,Pex 可被用作一个附加的方法来确保

测试充分地覆盖这些实现的代码。在方法中识别不确定的行为和错误时,这个自动探索式测试工具尤其有用。

和其他大多数生成工具一样,Pex 在确定的环境下使用效果很好。单元测试驱动(TDD)的设计原则是保持方法简短和可测试,这个原则也让 Pex 生成的测试更为可读。在实现符合 TDD 的设计目标时,Pex 也是很不错的工具,比如如果 Pex 为某方法生成了许多复杂的测试,那么这个方法很有可能需要重构。在方法是以基础类型做参数,而不是自定义的对象时,Pex 的效果也不错。

需要提醒的是,Pex 目前还只是微软研究院的一个试验项目,不会像微软正式产品一样获得支持。不建议将 Pex 作为写单元测试的首要选择,但是它的自动测试生成能有效覆盖边缘的用例。

2008-07-20 21:021613

评论

发布
暂无评论
发现更多内容

AI 编程如何颠覆生产力 | 参与体验免费领取 ArchSummit 架构师峰会专属门票

阿里巴巴云原生

阿里云 云原生

如何避免被公司裁掉?

小齐写代码

喜报 | 思码逸 DevInsight 通过DaoCloud兼容性互认证

思码逸研发效能

亲测可用!Acrobat Pro DC 2023中文破解版 Mac/win

Rose

Dapp开发技术指南,快速入门,掌握实战技能

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

BRC20铭文智能合约系统开发规则指南

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

是什么增加了系统的复杂度

Bruce Talk

敏捷开发 Agile Product Owner

Garden Planner园林设计: 让您的绿意梦想照进现实!

Rose

免费好用的菜单栏Cpu可视化监测工具:跑猫RunCat for mac

Rose

2023 re:Invent 用 Amazon Q 打造你的知识库

亚马逊云科技 (Amazon Web Services)

人工智能

Solidity案例详解(三)飞机管理合约

BSN研习社

区块链 Solidity

青团社:亿级灵活用工平台的云原生架构实践

阿里巴巴云原生

阿里云 云原生 可观测

Character Animator 2024 (Ch2024角色动画设计软件) Mac/win

Rose

直播回顾 | 张乐、何勉、余伟、任晶磊共议研发效能的破局之道

思码逸研发效能

运用 Argo Workflows 协调 CI/CD 流水线

SEAL安全

开源 Kubernetes CI/CD

几个有趣的C/C++语言『冷知识』

伤感汤姆布利柏

C语言 编程语言、 c++语言

熬了一晚上,开放签电子签章移动端上线了~

开放签开源电子签章

电子合同 电子签章

水杉Metasequoia 4:开启全新的三维建模时代

Rose

FxFactory 8 Pro视觉效果插件:从粒子系统到3D动画

Rose

Pydantic:强大的Python 数据验证库

霍格沃兹测试开发学社

.NET自动探索式测试工具——Pex_.NET_Al Tenhundfeld_InfoQ精选文章