QCon 全球软件开发大会倒计时2个月!讲师已确认60%+ >>> 了解详情
写点什么

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

评论

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

从智能合约到机器学习:NFT 与 AI 技术的结合

NFT Research

大数据 AI NFT

chatgpt 集成飞书实践指南

车江毅

聊天机器人 飞书 java ChatGPT

Studio One6免费电脑版编曲软件下载

茶色酒

Studio One6

前端一面手写面试题总结

helloworld1024fd

JavaScript 前端

开心档之HTML 属性

雪奈椰子

软件测试/测试开发 | 电商业务的性能测试(一): 必备基础知识

测试人

软件测试 自动化测试 测试开发

一场HttpClient调用未关闭流引发的问题

石臻臻的杂货铺

HttpClient

问:React的useState和setState到底是同步还是异步呢?

beifeng1996

React

出道即封神的ChatGPT,现在怎么样了?

引迈信息

人工智能 低代码 ChatGPT

滴滴前端高频vue面试题(边面边更)

bb_xiaxia1998

Vue 前端

精心整理SpringBoot学习笔记,从Web入门到系统架构

Java你猿哥

Java 面试 面经 校招 春招 java

企业数字化转型的核心——工作流

力软低代码开发平台

校招前端二面经典react面试题及答案

beifeng1996

前端 React

算力网络智能选路新向导

鲸品堂

算力 电信运营商 算力网络 企业号 3 月 PK 榜

Paragon NTFS2023磁盘读写工具

茶色酒

Paragon NTFS Paragon NTFS16

什么大模型?我是时尚产业“大模王”!

白洞计划

AI AI制衣

两会共议北斗发展,华大北斗芯片领衔

江湖老铁

4万字,阿里云《大型体育赛事云上实战精选》电子书发布!

阿里云视频云

云计算 视频云

Visual ChatGPT:跟聊天机器人一起绘画

Zilliz

计算机视觉 ChatGPT

好家伙!阿里最新版高并发系统设计涵盖了“三高”所有骚操作

Java你猿哥

java面试 面经 春招 java 八股文

字节前端二面react面试题(边面边更)

beifeng1996

前端 React

C++模板元编程的两个例子

老王同学

c++ 模板元

架构训练营模块七作业

gigifrog

架构训练营

滴滴前端一面常考vue面试题(持续更新中)

bb_xiaxia1998

Vue 前端

new Vue的时候到底做了什么

bb_xiaxia1998

Vue 前端

写个JS深拷贝,面试备用

helloworld1024fd

JavaScript 前端

问:你是如何进行react状态管理方案选择的?

beifeng1996

前端 React

常见的ftp文件传输工具有哪些?推荐最佳ftp文件传输工具

镭速

vue为什么v-for的优先级比v-if的高?

bb_xiaxia1998

Vue 前端

几个常见的js手写题,你能写出来几道

helloworld1024fd

JavaScript 前端

京东前端手写面试题集锦

helloworld1024fd

JavaScript 前端

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