... re- duces quality, which can be difficult to recover from, because the team falls into the bug-fixing trap soon after launch. Too little refactor- ing multiplies defects through copy-and-paste-itis: ... classical testing and quality assurance. 3 In Testing Extreme Programming, Lisa Crispin and Tip House state that “All ac- ceptance tests on an Extreme Programming project must be automated...
Ngày tải lên: 05/08/2014, 10:21
... allows us to focus on the important bit: solving the customer’s problem. 9. 3 Team Colors In Extreme Programming Explained, Kent Beck wrote, “The standard must be adopted voluntarily by the whole team.” ... implementing Test-FIT, and making it available on CPAN. 9 SimpleMath and the test data were adapted from Test-FIT, version 0.11, on CPAN. Copyright c 2004 Robert Nagler All ri...
Ngày tải lên: 05/08/2014, 10:21
Extreme Programming in Perl Robert Nagler phần 9 pps
... ’LIST’; $CMD=~ tr/a-z/A-Z/; $me->Alive() or return; my @retarray = (); my $ret = ’’; $me->_checkstate(’TRANSACTION’, $CMD) or return; $me->_sockprint($CMD, $num ? " $num" : ’’, $me->EOL()); my ... ’LIST’; $CMD=~ tr/a-z/A-Z/; $me->Alive() or return; my @retarray = (); my $ret = ’’; $me->_checkstate(’TRANSACTION’, $CMD) or return; Copyright c 2004 Robert Nagler All...
Ngày tải lên: 05/08/2014, 10:21
Extreme Programming in Perl Robert Nagler phần 6 doc
... unit test to clarify his intentions before he makes a change. We call this test-driven design (TDD) or test-first programming, because an API’s design and implementation are guided by its tes t ... the customer’s per- spective and tests end-user functionality, usually through the same interface that an ordinary user uses. In constrast, a unit test exercises an API, for- mally known as a ... t...
Ngày tải lên: 05/08/2014, 10:21
Extreme Programming in Perl Robert Nagler phần 7 pot
... reserved nagler@extremeperl.org 110 $self->{sum} -= shift(@{$self->{values}}) if $self->{length} eq @{$self->{values}}; return ($self->{sum} += $value) / push(@{$self->{values}}, ... $sma = SMA->new(4)); is($sma->compute(5), 5); is($sma->compute(5), 5); is($sma->compute(11), 7); is($sma->compute(11), 8); is($sma->compute(13), 10); dies_ok {SMA->new (...
Ngày tải lên: 05/08/2014, 10:21
Extreme Programming in Perl Robert Nagler phần 8 ppsx
... ’AUTHORIZATION’); is($pop 3-& gt;User($cfg->{USER}), $cfg->{USER}); is($pop 3-& gt;User, $cfg->{USER}); is($pop 3-& gt;Pass($cfg->{PASSWORD}), $cfg->{PASSWORD}); is($pop 3-& gt;Pass, $cfg->{PASSWORD}); is($pop 3-& gt;Login, ... Length my($count) = $pop 3-& gt;Count(); ok($count >= 1); is($pop 3-& gt;Delete(1), 1); is($pop 3-& gt;Delete (99 9), 0); $pop 3-...
Ngày tải lên: 05/08/2014, 10:21
Extreme Programming in Perl Robert Nagler phần 10 pps
... Nagler All rights reserved nagler@extremeperl.org 158 subject matter oriented program- ming, 63 Swiss Army Chainsaw, 19 task, 33 test-driven design, 83 test-first programming, 83 the customer, vi, ... reserved nagler@extremeperl.org 1 59 Woops! We fell into the dreaded copy-and-paste trap. The new line is identical to the old except for two characters out of 65. That’s too much redundancy (...
Ngày tải lên: 05/08/2014, 10:21