写点什么

.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:021842

评论

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

权限系统的基本概念和架构

程序那些事

权限系统 程序那些事 SSO 权限架构 权限认证

第九周-作业

jizhi7

【Java入门】String,StringBuffer和StringBuilder

Albert

Java 七日更

深度剖析原理!2020年Android网络编程总结篇,已开源

欢喜学安卓

android 程序员 面试 移动开发

TypeScript | 第一章:环境搭建及基础数据类型

梁龙先森

typescript 大前端 七日更

66把锁的门禁系统,告诉你区块链的特点

CECBC

区块链

Android知识体系大纲!Android平台HTTPS抓包解决方案及问题分析,年薪50W

欢喜学安卓

android 程序员 面试 移动开发

今天发的被删了,不是我没写

lidaobing

28天写作

我们该如何正确的中断一个线程的执行??

冰河

并发编程 多线程 高并发 中断线程 签约计划第二季

学习总结-week13

张荣召

如何坚持做一件事情

熊斌

个人成长 七日更

DBA 的效率加速器——CloudQuery v1.3.0 上线!

BinTools图尔兹

数据库 运维 开发 dba

第13周

袭望

【STL 源码剖析】浅谈 STL 迭代器与 traits 编程技法

程序员贺同学

c++ 后端 迭代器模式 源码剖析 stl

Docker

云淡风轻

余额和核心信息数据安全分享

冬天的秘密

加密 防篡改 数据隐私

如何守护数据安全? 这里有一份RDS灾备方案为你支招

京东科技开发者

数据库 云数据库

创业感悟 | 2021是继续打工还是选择创业?

黑马腾云

创业

架构师 3 期 3 班 -week5- 总结

zbest

总结 week5

还在用ELK? 是时候了解一下轻量化日志服务Loki了

京东科技开发者

DevOps 云原生 日志监控

程序员告诉你:C/C++后台开发需要学习哪些技能书

赖猫

c++ Linux 后台开发

DDIA 读书笔记(7)分布式系统的问题

莫黎

读书笔记 分布式系统

互联网已经干得很好的事情,不应该是区块链干的

CECBC

区块链 互联网

第九周-总结

jizhi7

欧盟推出新数字法案,会是一场“锄强扶弱”的数字监管变革吗?

脑极体

阿里P8手把手教你!微信小程序的事件处理,安卓系列学习进阶视频

欢喜学安卓

android 程序员 面试 移动开发

甲方日常 71

句子

工作 随笔杂谈 日常

架构师训练营第十一周作业

文智

极客大学架构师训练营

英特尔下一代10nm Ice Lake处理器登陆腾讯云,星星海自研二路服务器内“芯”强大

E科讯

不讲码德!坏味道偷袭我这个老码农

爱笑的架构师

Java 代码审查 代码坏味道 代码规范 七日更

生产环境全链路压测建设历程 16:淘宝网高可用历程的总结

数列科技杨德华

全链路压测 七日更

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