写点什么

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

评论

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

京东千亿订单背后的纵深安全防御体系

京东科技开发者

安全 网络 云服务 云安全

Alibaba官方发文:阿里技术人的成长路径与方法论

Java架构师迁哥

架构师训练营 - 第五周学习总结

joshuamai

开源认证和访问控制的利器keycloak使用简介

程序那些事

开源 程序那些事 授权框架 keycloak 认证授权

讯飞推出充电宝式便携拾音器,重新定义传统拾音

Talk A.I.

表格控件Spread.NET V14.0 发布:支持 .NET 5 和 .NET Core 3.1

葡萄城技术团队

802.11抓包软件对比之Microsoft Network Monitor

IoT云工坊

wifi 嵌入式 抓包

肝了一周的 UDP 基础知识终于出来了。

苹果看辽宁体育

计算机网络 计算机基础

架构师训练营 W06 作业

Geek_f06ede

架构师训练营 - 第五周课后练习

joshuamai

Java踩坑记系列之BigDecimal

Java老k

BigDecimal

成德眉资现代农业园区大联动促发展,“1链3e”引领四市农业产业数字化建设

CNG农业公链

一期二班-吴水金-第六课作业

吴水金

Thread.start() ,它是怎么让线程启动的呢?

小傅哥

Java 线程 JVM 小傅哥 Thread

计算机核心课程必读书目——《高级数据结构:理论与应用》

计算机与AI

数据结构 算法

java: Compilation failed: internal java compiler error解决办法

LSJ

IDEA

「干货总结」程序员必知必会的十大排序算法

bigsai

排序 排序算法 快速排序

家庭留白、中屏崛起与硬件棋局

脑极体

Architecture Phase1 Week10:Summarize

phylony-lu

极客大学架构师训练营

面试者必看:Java8中的默认方法

Silently9527

java8 默认方法

大厂经验:一套Web自动曝光埋点技术方案

阿亮

埋点 曝光埋点 点击埋点 自动化埋点

SpringBoot-技术专题-如何提高吞吐量

码界西柚

熬夜不睡觉整理ELK技术文档,从此摆脱靠百度的工作(附源码)

996小迁

Java 编程 架构 面试 ELK

Java踩坑记系列之Arrays.AsList

Java老k

Java

《华为数据之道》读书笔记:第 4 章 面向“业务交易”的信息架构建设

方志

数据中台 数字化转型 数据治理

推荐几款MySQL相关工具

Simon

MySQL 工具 percona server

JVM-技术专题-垃圾回收策略

码界西柚

为什么说应用架构需要分类思维?

Java架构师迁哥

“奋斗者”号下潜10909米:我们为什么要做深海探索?

脑极体

甲方日常 57

句子

工作 随笔杂谈 日常

关于 AWS Lambda 中的冷启动,你想了解的信息都在这!

donghui

Serverless Faas 函数计算

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