写点什么

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

评论

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

java培训redis集群原理详解

@零度

redis java培训

熊市慢慢,Bit.Store提供稳定Staking产品助你穿越牛熊

股市老人

一场分销裂变活动,不止是发发朋友圈这么简单!

CRMEB

Salesforce 容器化 ISV 场景下的软件供应链安全落地实践

阿里巴巴中间件

阿里云 容器 云原生

Pisa-Proxy 之 SQL 解析实践

SphereEx

数据库 SQL语句 SphereEx

直播app运营模式有哪几种,我们该选择什么样的模式?

开源直播系统源码

软件开发 直播源码 带货直播

鸿蒙发力!HDD杭州站·线下沙龙邀您共建生态

最新动态

DevOps 如何帮助前端提升研发效率?

飞算JavaAI开发助手

海量数据!秒级分析!Flink+Doris构建实时数仓方案

领创集团Advance Intelligence Group

数据 Doris flink sql 平台

字节跳动埋点数据流建设与治理实践

字节跳动数据平台

字节跳动 数据治理 数据流 埋点治理 数据研发

Drive to APasS!使用明道云管理F1赛事

明道云

牛客java选择题每日打卡Day4

京与旧铺

6月月更

浅谈软件研发的复杂性与效能提升之道

思码逸研发效能

研发效能

巧用redis实现点赞功能,它不比mysql香吗?

阿Q说代码

MySQL 数据库 redis 点赞

C#/VB.NET 使用插件将HTML转为PDF

在下毛毛雨

C# html .net PDF

阅读别人的代码,是一种怎样的体验

阿Q说代码

程序人生 阅读代码 阅读建议 阅读感受

PostgreSQL 15新版本特性解读(含直播问答、PPT资料汇总)

墨天轮

数据库 postgresql

Rxjs mergeMap 的使用场合

汪子熙

typescript 响应式编程 angular RXJS 6月月更

等保2.0密码要求是什么?法律依据有哪些?

行云管家

网络安全 等保 等保2.0

优博讯出席OpenHarmony技术日,全新打造下一代安全支付终端

Geek_2d6073

centos7防火墙完整操作命令,值得的收藏

迷彩

Linux 运维 Centos 7 防火墙 6月月更

易周金融 | Q1手机银行活跃用户规模6.5亿;理财子公司布局新兴领域

易观分析

金融 手机银行

好用到爆!GitHub 星标 32.5k+的命令行软件管理神器,功能真心强大!

沉默王二

Java macos GitHub

秒云荣获《2022爱分析 · IT运维厂商全景报告》智能运维AIOps市场代表厂商

MIAOYUN

云原生 智能运维 IT运维 智能运维AIOps

私藏干货分享:关于企业架构中如何进行平台化

松子(李博源)

企业架构 数据架构 业务架构 大数据平台 平台

TiDB 6.0:让 TSO 更高效丨TiDB Book Rush

PingCAP

TiDB

关于接口测试自动化的总结与思考

阿里巴巴云原生

阿里云 接口 性能压测 PTS 阿里云云原生

Substrate 源码追新导读 4月第2周技术更新: 以太坊地址转换, BEEFY协议等

彭亚伦

rust Substrate 波卡生态

JavaScript 回调函数/Promise/ async/await

源字节1号

软件开发 前端开发 后端开发

实力总结四类Bean注入Spring的方式

阿Q说代码

Java 注解 spring源码 bean注入

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