测试驱动开发与重构

上传人:san****019 文档编号:22602448 上传时间:2021-05-29 格式:PPT 页数:18 大小:839KB
返回 下载 相关 举报
测试驱动开发与重构_第1页
第1页 / 共18页
测试驱动开发与重构_第2页
第2页 / 共18页
测试驱动开发与重构_第3页
第3页 / 共18页
点击查看更多>>
资源描述
暨南大学计算机科学系黄战 在案例研究的语境中介绍这两种重要的开发实践。 极限编程(XP)所提倡的重要测试实践是:首先编写测试。它还提倡不断地重构代码以改进质量,包括降低冗余、提高清晰度等。现代工具都支持这两种实践,并且有许多OO开发者信赖这些实践的价值。 测试驱动开发(TDD)迭代和敏捷XP方法提倡的优秀实践。在TDD风格的OO单元测试中,要在测试类之前编写测试代码,并且开发者要为几乎所有的产品代码编写单元测试。 TDD的基本规律是编写一小段测试代码,然后再编写一小段产品代码,保证其通过测试,然后再编写更多的测试代码,依此类推。先写测试代码,此时不妨想象被测代码已经写出来了。 能够保证编写测试人们往往会忽略单元测试。使程序员获得满足感从而更始终如一地坚持编写测试(我能够编写通过这一测试的代码吗?)有助于澄清接口和行为的细节可证明、可再现、自动的验证改变事物的信心 遵循以下模式完成每个测试方法:1)创建测试固件。2) 对其完成某些操作(你所希望测试的某些操作)3) 评估结果是否为期望值。我们没有先编写所有的单元测试,而是只编写了一个测试方法,在类中实现该方法并确保通过测试,然后再反复这一过程。 重构是重写或重新构建已有代码的结构化和规律性方法,但不会改变已有代码的外在行为,而是采用一系列少量转换的步骤,并且每一步都结合了重新执行的测试。不断地重构代码也是XP的一个实践,该实践也适用于所有的迭代方法(包括UP)。 重构的本质是:一次实行一小步保留行为的转换(每次转换都称为“重构”)。每次转换后,要重新执行单元测试,以保证重构不会导致错误。重构和TDD具有关系所有的单元测试要支持重构过程。 每次重构是:少量的但是一系列的改变。每次重构都伴随着重新执行的单元测试。会对代码和设计产生主体性的重新构造,同时所有的重构都要保证代码的行为与过去一致。 public class Playerprivate Piece piece;private Board board;private Die dice;/ public void takeTurn()/ roll diceint rollTotal = 0;for (int i = 0; i dice.length; i+)dicei.roll();rollTotal += dicei.getFaceValue(); Square newLoc = board.getSquare(piece.getLocation(), rollTotal);piece.setLocation(newLoc); / end of class public class Playerprivate Piece piece;private Board board;private Die dice;/ public void takeTurn()/ the refactored helper methodint rollTotal = rollDice();Square newLoc = board.getSquare(piece.getLocation(), rollTotal);piece.setLocation(newLoc); private int rollDice()int rollTotal = 0;for (int i = 0; i dice.length; i+)dicei.roll();rollTotal += dicei.getFaceValue();return rollTotal; / end of class / good method name, but the logic of the body is not clearboolean isLeapYear( int year )return( ( ( year % 400 ) = 0 ) | ( ( ( year % 4 ) = 0 ) / thats better!boolean isLeapYear( int year )boolean isFourthYear = ( ( year % 4 ) = 0 );boolean isHundrethYear = ( ( year % 100 ) = 0);boolean is4HundrethYear = ( ( year % 400 ) = 0);return ( is4HundrethYear| ( isFourthYear
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!