写点什么

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

评论

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

奈学教育:Hadoop源码编译全流程分享

奈学教育

MyBatis之启动分析(一)

ytao

面试 mybatis

Flink 1.10 SQL、HiveCatalog 与事件时间整合示例

Apache Flink

大数据 flink 流计算 实时计算

Flink Weekly | 每周社区动态更新-20200520

Apache Flink

大数据 flink 流计算 实时计算

读懂才会用 : 带你见识 Redis 的 zset

小眼睛聊技术

redis 学习 程序员 架构 redis6.0.0

2020年6月3日 对象与类

瑞克与莫迪

普通二本,毕业三年,北漂之后,我是怎么成为程序猿的。

why技术

个人成长 程序人生 随笔杂谈 北漂

原创 | TDD工具集:JUnit、AssertJ和Mockito (十六)编写测试-有条件执行测试

编程道与术

Java 编程 TDD 单元测试 JUnit

女朋友跟我吐槽Java中ArrayList遍历时删除元素的各种姿势

NotFound9

Java 架构 面试 编程语言 后端

如何更好的交谈(以英语为例)

董一凡

学习 生活

Shell 文本处理一则

wong

Shell sed grep

吉德热泵烘干机解放阳台,引领生活品质新风尚

infoq小陈

这场大数据+AI Meetup,一次性安排了大数据当下热门话题

Apache Flink

大数据 flink 流计算 实时计算

浅谈敏捷开发中的设计

czjczk

敏捷开发

一文让你快速上手 Mockito 单元测试框架

mghio

Java spring 单元测试 Mockito

计算机超全核心技术知识

苹果看辽宁体育

后端 计算机基础

我的个人知识管理方法

lidaobing

个人成长 知识管理 PKM

Java 走过的创新25年

田晓旭

Java25周年

手撕编译原理:汇编语言不会编

贾献华

产品的本质,知道却看不到

Neco.W

产品 产品经理 需求 产品开发

一周信创舆情观察(5.25~5.31)

统小信uos

基础软件 操作系统 新基建

JAVA后端学习路线

敖丙

Java 学习 程序员 Java25周年

分享一份阿里架构师 651 多个技术分支的脑图

奈学教育

大数据

Docker 容器优雅终止方案

米开朗基杨

Docker

如何挑选一份工作

池建强

求职 找工作

千万别学编译原理

池建强

编译原理

Mobaxterm (安装 、汉化、使用)入门教程

Geek_Offset

CSS Tricks网站创始人作序推荐,这本书助你成为Web开发高手

图灵社区

CSS Web 开发 设计思维

Kafka的生产者优秀架构设计

奈学教育

kafka 分布式

缓存与存储的一致性策略:从 CPU 到分布式系统

伴鱼技术团队

缓存 系统设计 cpu 系统架构 架构模式

入门到放弃:理清前端技术概念

大伟

Java ecmascript 大前端 Node

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