1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 3 4<html xmlns="http://www.w3.org/1999/xhtml"> 5 6<head> 7 8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 9<meta name="generator" content="http://www.movabletype.org/" /> 10 11 <title>Developer Testing, Discussions about Software Quality</title> 12 <link rel="stylesheet" href="styles-site.css" type="text/css" /> 13 14<link rel="alternate" type="application/atom+xml" title="Developer Testing (Atom)" href="atom.xml" /> 15<link rel="alternate" type="application/rss+xml" title="Developer Testing (RSS 1.0)" href="index.rdf" /> 16<link rel="alternate" type="application/rss+xml" title="Developer Testing (RSS 2.0)" href="index.xml" /> 17<link rel="EditURI" type="application/rsd+xml" title="RSD" href="rsd.xml" /> 18 19 20 21 22 23 <!-- 24<rdf:RDF xmlns="http://web.resource.org/cc/" 25 xmlns:dc="http://purl.org/dc/elements/1.1/" 26 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 27<Work rdf:about="http://www.developertesting.com/"> 28<dc:title>Developer Testing</dc:title> 29<dc:description>Developer Testing - A place to gain and share knowledge.</dc:description> 30<license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/1.0/" /> 31</Work> 32<License rdf:about="http://creativecommons.org/licenses/by-nc-sa/1.0/"> 33<requires rdf:resource="http://web.resource.org/cc/Attribution" /> 34<requires rdf:resource="http://web.resource.org/cc/Notice" /> 35<requires rdf:resource="http://web.resource.org/cc/ShareAlike" /> 36<permits rdf:resource="http://web.resource.org/cc/Reproduction" /> 37<permits rdf:resource="http://web.resource.org/cc/Distribution" /> 38<permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> 39<prohibits rdf:resource="http://web.resource.org/cc/CommercialUse" /> 40</License> 41</rdf:RDF> 42--> 43 44 45 46</head> 47 48<body> 49 50 <div id="container"> 51 52 <div id="banner"> 53 54 <a href="index.html"> 55 <img alt="Developer Testing Logo" 56 style = "float: left; border: 0; margin: 0;" 57 src="images/dtlogo.gif" /> 58 </a> 59 60 <div class="sitesearch2"> 61 <form method="get" action="http://www.developertesting.com/mt/mt-search.cgi"> 62 <input type="hidden" name="IncludeBlogs" value="5" /> 63 <input id="search" name="search" size="20" onfocus="javascript:document.getElementById('search').value=''" /> <input type="submit" value="Go" /> 64 </form>
65<script type="JavaScript"> 66document.getElementById('search').value = 'search'; 67</script>
67 68 </div> 69 70</div> 71 72 <div id="leftcolumn1"> 73 74 <h2 class="stylecolorsitenr1">Highlights</h2> 75<div class="sidebarsmenu"> 76<a href="index.html">Home</a> 77<a href="archives.html">Website Archives</a> 78<a href="archives/month200312/20031219-AboutUs.html">About Us</a> 79</div> 80 81 <br /> 82 <h2 class="stylecolorsitenr1">Categories</h2> 83 84 85 <ul> 86 87 88 89 <li> 90 <a href="archives/about_us-index.html" 91 title="">About Us</a> 92 <!--MTElse--> 93 <!--MTCategoryLabel--> 94 <!--/MTElse--> 95 96 </li> 97 98 99 100 101 102 103 104 105 106 107 108 <li> 109 <a href="archives/agitation-index.html" 110 title="">Agitation</a> 111 <!--MTElse--> 112 <!--MTCategoryLabel--> 113 <!--/MTElse--> 114 115 </li> 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 <li> 139 <a href="archives/continuous_integration-index.html" 140 title="">Continuous Integration</a> 141 <!--MTElse--> 142 <!--MTCategoryLabel--> 143 <!--/MTElse--> 144 145 </li> 146 147 148 149 150 151 152 153 154 155 156 157 <li> 158 <a href="archives/dt_economics-index.html" 159 title="">DT Economics</a> 160 <!--MTElse--> 161 <!--MTCategoryLabel--> 162 <!--/MTElse--> 163 164 </li> 165 166 167 168 169 170 171 172 173 174 175 176 <li> 177 <a href="archives/developer_testing-index.html" 178 title="">Developer Testing</a> 179 <!--MTElse--> 180 <!--MTCategoryLabel--> 181 <!--/MTElse--> 182 183 </li> 184 185 186 187 188 189 190 191 192 193 194 195 <li> 196 <a href="archives/general-index.html" 197 title="">General</a> 198 <!--MTElse--> 199 <!--MTCategoryLabel--> 200 <!--/MTElse--> 201 202 </li> 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 <li> 233 <a href="archives/individual_weblogs-index.html" 234 title="">Individual Weblogs</a> 235 <!--MTElse--> 236 <!--MTCategoryLabel--> 237 <!--/MTElse--> 238 239 <ul> 240 241 242 243 <li> 244 <a href="archives/individual_weblogs-alberto_savoia-index.html" 245 title="Agitar Software CTO & Founder">Alberto Savoia</a> 246 <!--MTElse--> 247 <!--MTCategoryLabel--> 248 <!--/MTElse--> 249 250 </li> 251 252 253 254 255 256 257 258 259 260 261 262 <li> 263 <a href="archives/individual_weblogs-ashish_kumar-index.html" 264 title="Agitator">Ashish Kumar</a> 265 <!--MTElse--> 266 <!--MTCategoryLabel--> 267 <!--/MTElse--> 268 269 </li> 270 271 272 273 274 275 276 277 278 279 280 281 <li> 282 <a href="archives/individual_weblogs-bob_evans-index.html" 283 title="">Bob Evans</a> 284 <!--MTElse--> 285 <!--MTCategoryLabel--> 286 <!--/MTElse--> 287 288 </li> 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 <li> 334 <a href="archives/individual_weblogs-jeffrey_fredrick-index.html" 335 title="Agitator">Jeffrey Fredrick</a> 336 <!--MTElse--> 337 <!--MTCategoryLabel--> 338 <!--/MTElse--> 339 340 </li> 341 342 343 344 345 346 347 348 349 350 351 352 <li> 353 <a href="archives/individual_weblogs-karl_pauls-index.html" 354 title="Trigeo Agitator">Karl Pauls</a> 355 <!--MTElse--> 356 <!--MTCategoryLabel--> 357 <!--/MTElse--> 358 359 </li> 360 361 362 363 364 365 366 367 368 369 370 371 <li> 372 <a href="archives/individual_weblogs-ken_koster-index.html" 373 title="">Ken Koster</a> 374 <!--MTElse--> 375 <!--MTCategoryLabel--> 376 <!--/MTElse--> 377 378 </li> 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 <li> 402 <a href="archives/individual_weblogs-kent_mitchell-index.html" 403 title="Agitar Director of Product Management">Kent Mitchell</a> 404 <!--MTElse--> 405 <!--MTCategoryLabel--> 406 <!--/MTElse--> 407 408 </li> 409 410 411 412 413 414 415 416 417 418 419 420 <li> 421 <a href="archives/individual_weblogs-kevin_lawrence-index.html" 422 title="Agitator">Kevin Lawrence</a> 423 <!--MTElse--> 424 <!--MTCategoryLabel--> 425 <!--/MTElse--> 426 427 </li> 428 429 430 431 432 433 434 435 436 437 438 439 <li> 440 <a href="archives/individual_weblogs-patrick_smith-index.html" 441 title="Agitator">Patrick Smith</a> 442 <!--MTElse--> 443 <!--MTCategoryLabel--> 444 <!--/MTElse--> 445 446 </li> 447 448 449 450 451 452 453 454 455 456 457 458 <li> 459 <a href="archives/individual_weblogs-rob_heiser-index.html" 460 title="">Rob Heiser</a> 461 <!--MTElse--> 462 <!--MTCategoryLabel--> 463 <!--/MTElse--> 464 465 </li> 466 467 468 469 470 471 472 473 474 475 476 477 <li> 478 <a href="archives/individual_weblogs-vandana_shah-index.html" 479 title="">Vandana Shah</a> 480 <!--MTElse--> 481 <!--MTCategoryLabel--> 482 <!--/MTElse--> 483 484 </li> 485 486 487 488 489 </ul> 490 491 492 </li> 493 494 495 496 497 498 499 500 501 502 503 504 <li> 505 <a href="archives/managed_developer_testing-index.html" 506 title="">Managed Developer Testing</a> 507 <!--MTElse--> 508 <!--MTCategoryLabel--> 509 <!--/MTElse--> 510 511 </li> 512 513 514 515 516 517 518 519 520 521 522 523 <li> 524 <a href="archives/research_in_testing-index.html" 525 title="">Research in Testing</a> 526 <!--MTElse--> 527 <!--MTCategoryLabel--> 528 <!--/MTElse--> 529 530 </li> 531 532 533 534 535 536 537 538 539 540 541 542 <li> 543 <a href="archives/test_driven_development-index.html" 544 title="">Test Driven Development</a> 545 <!--MTElse--> 546 <!--MTCategoryLabel--> 547 <!--/MTElse--> 548 549 </li> 550 551 552 553 554 555 556 557 558 559 560 561 <li> 562 <a href="archives/the_xperiment-index.html" 563 title="">The XPeriment</a> 564 <!--MTElse--> 565 <!--MTCategoryLabel--> 566 <!--/MTElse--> 567 568 </li> 569 570 571 572 573 </ul> 574 575 576 577 <!--$MTInclude module="monthly_archivelist"$--> 578 <h2 class="stylecolorsitenr1">Recent Entries</h2> 579 580<ul> 581 <li><a href="archives/month200903/20090313-AprilMinneapolisBuildEngineerBootcampCITCon.html">April: Minneapolis: Build Engineer Bootcamp & CITCON</a></li> 582 <li><a href="archives/month200902/20090217-SafariWatirFireWatir.html">Cross-browser testing with SafariWatir and FireWatir</a></li> 583 <li><a href="archives/month200811/20081121-CruiseControl2_8Released.html">CruiseControl 2.8 Released</a></li> 584 <li><a href="archives/month200809/20080918-FinalDaysRegisterCitconAmsterdam.html">Final days to register for CITCON Amsterdam</a></li> 585 <li><a href="archives/month200809/20080915-MundaneExcellenceSoftwareIntensiveCareBombingMissions.html">Mundane excellence in software, intensive care, and bombing missions</a></li> 586 <li><a href="archives/month200807/20080712-NewBlog.html">New Blog: http://blog.jeffreyfredrick.com</a></li> 587 <li><a href="archives/month200804/20080409-CruiseControl2.7.2Released.html">CruiseControl 2.7.2 Released</a></li> 588 <li><a href="archives/month200803/20080331-code coverage, state coverage, ICSE.html">Introducing... State Coverage</a></li> 589 <li>
589<a href="archives/month200803/20080327-000464.html">Go faster with dynamic languages, but for how long?</a></li> 590 <li><a href="archives/month200803/20080312-RegisterForCitconDenver.html">Register for CITCON Denver</a></li> 591 592</ul> 593 594 595</div> 596 597 598 <div id="center"> 599 600<!-- Show headlines if there are any --> 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627<!-- /Show headlines if there are any --> 628 629<!-- Show calendar items if there are any --> 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656<!-- /Show calendar items if there are any --> 657 658 659 <p class="entrytitle"> 660 <!--$MTEntryTrackbackData$--> 661 <a href="archives/month200903/20090313-AprilMinneapolisBuildEngineerBootcampCITCon.html"> 662 <b>April: Minneapolis: Build Engineer Bootcamp & CITCON</b> 663 </a> 664 </p> 665 666 <p>On this blog when we talk about developer testing we have an ongoing assumption that you're going to use continuous integration in both senses of the phrase: you're going to <a href="http://jamesshore.com/Blog/Continuous-Integration-is-an-Attitude.html">check-in frequently</a> and you're going to have an automated system like <a href="http://cruisecontrol.sourceforge.net/">CruiseControl</a> running your tests.</p> 667 668<p>But, perhaps surprisingly, many teams have as much trouble getting the automated system up and running as they do in writing the tests in the first place. The problem is their build. They have a system that is sufficient for assembling their software but that isn't ready for the demands of an agile team, demands like continuous integration, unit tests, functional testing, software metrics, etc.</p> 669 670<p>If you have this problem then you should take a look at the <a href="http://ci-guys.com/training.php">Build Engineer Bootcamp</a> that <a href="http://ci-guys.com/">we</a> have scheduled for Minneapolis in April to coordinate with <a href="http://citconf.com/msp2009/">CITCON</a>
670, the Continuous Integration and Testing Conference. These two events should pair very nicely: attend the bootcamp to learn the basics, then attend CITCON to delve into the state of the art.</p> 671 672<p>Hope to see you there!</p> 673 674 <p class="posted">- Posted by Jeffrey Fredrick on March 13, 2009 01:29 PM</p> 675 676 677 678 <p class="entrytitle"> 679 <!--$MTEntryTrackbackData$--> 680 <a href="archives/month200902/20090217-SafariWatirFireWatir.html"> 681 <b>Cross-browser testing with SafariWatir and FireWatir</b> 682 </a> 683 </p> 684 685 <p>I've <a href="http://blog.jeffreyfredrick.com/2009/02/17/ostatli-safari-firefox-with-watir/">written up my account</a> of how I spent my time at <a href="index.html">Elisabeth Hendrickson</a>'s <a href="http://testobsessed.com/2009/02/16/ostatli-update/">Open Source Test Automation Tool Love In</a>. My goal was to have a single script using Watir to drive both Safari and Firefox. With a bit more work I'd like to have the same script driving <a href="http://celerity.rubyforge.org/">Celerity</a>. I like the idea of a continuous integration setup where the Celerity tests run first for fast feedback and then the tests run in the browser to ensure compatibility.</p> 686 687 <p class="posted">- Posted by Jeffrey Fredrick on February 17, 2009 09:04 AM</p> 688 689 690 691 <p class="entrytitle"> 692 <!--$MTEntryTrackbackData$--> 693 <a href="archives/month200811/20081121-CruiseControl2_8Released.html"> 694 <b>CruiseControl 2.8 Released</b> 695 </a> 696 </p> 697 698 <p>2.8 is now <a href="http://cruisecontrol.sourceforge.net/download.html">available for download</a>.</p> 699 700<p>Along with a number of bug fixes and enhancements (<a href="http://sourceforge.net/project/shownotes.php?release_id=629858&group_id=23523">release notes</a>) there have been a number of significant below the surface changes that should be invisible out of the box but will be a GoodThing:</p> 701 702<ul> 703 <li>Java 5 required to run: this allows us to update the code to 704more modern Java and to take advantage of the libraries that are part 705of Java 5 but not Java 1.5. (Of course you can still compile your 706projects with JDK 1.4.)</li> 707<li>Upgraded Jetty: along with the upgrade we are also exposing the 708Jetty configuration files to allow more extensions to the default 709behavior.</li> 710<li>Updated to Servlet API 2.5 and JSP API 2.1</li> 711<li>Specify Log4j config file: there is now a command-line switch 712(-log4jconfig) to specify the Log4j configuration file. Importantly, 713this can be either in the .properties format or the .xml format. The 714.xml format is more verbose (no surprise) but also allows more 715configuration options. From <a href="http://www.laliluna.de/log4j-tutorial.html">the Log4j tutorial</a>:</li> 716</ul> 717 718<blockquote>"The properties file does not support some advanced configuration 719options like Filters, custom ErrorHandlers and a special type of 720appenders, i.e. AsyncAppender. ErrorHandlers defines how errors in 721log4j itself are handled, for example badly configured appenders. 722Filters are more interesting. From the available filters, I think that 723the level range filter is really missing for property files."</blockquote> 724 725<p>In addition to these change there quite a few <a href="http://blog.jeffreyfredrick.com/2008/11/21/cruisecontrol-28-released/">little hygiene cleanups that made me happy</a>.</p> 726 727 <p class="posted">- Posted by Jeffrey Fredrick on November 21, 2008 03:46 PM</p> 728 729 730 731 <p class="entrytitle"> 732 <!--$MTEntryTrackbackData$--> 733 <a href="archives/month200809/20080918-FinalDaysRegisterCitconAmsterdam.html"> 734 <b>Final days to register for CITCON Amsterdam</b> 735 </a> 736 </p> 737 738 <p><a href="http://www.citconf.com/amsterdam2008/">CITCON Amsterdam</a> is October 3rd & 4th and the final day to <a href="http://www.citconf.com/amsterdam2008/register.php">register</a> is tomorrow, September 19th. We currently have <a href="http://www.citconf.com/wiki/index.php?title=CITCONEurope2008Registrants">124 people</a> registered from across Europe, ready to talk all about Continuous Integration, Testing and related topics. Hope to see you there!</p> 739 740 <p class="posted">- Posted by Jeffrey Fredrick on September 18, 2008 09:56 AM</p> 741 742 743
744 <p class="entrytitle"> 745 <!--$MTEntryTrackbackData$--> 746 <a href="archives/month200809/20080915-MundaneExcellenceSoftwareIntensiveCareBombingMissions.html"> 747 <b>Mundane excellence in software, intensive care, and bombing missions</b> 748 </a> 749 </p> 750 751 <p>In <a href="http://blog.jeffreyfredrick.com/2008/09/10/making-software-like-intensive-care-or-bombing-missions/">this blog entry</a> I talk about how simple changes can produce dramatically different results. Developer testing is one of the practices, one of those little things, that add up to excellence:</p> 752 753<blockquote>"⦠there is no secret; there is only the doing of all those little things, each one done correctly, time and again, until excellence in every detail becomes a firmly ingrained habit, an ordinary part of oneâs everyday life."</blockquote> 754 755<p><a href="http://blog.jeffreyfredrick.com/2008/09/10/making-software-like-intensive-care-or-bombing-missions/">Read more.</a></p> 756 757 <p class="posted">- Posted by Jeffrey Fredrick on September 15, 2008 10:23 PM</p> 758 759 760 761 <p class="entrytitle"> 762 <!--$MTEntryTrackbackData$--> 763 <a href="archives/month200804/20080409-CruiseControl2.7.2Released.html"> 764 <b>CruiseControl 2.7.2 Released</b> 765 </a> 766 </p> 767 768 <p>CruiseControl 2.7.2 is <a href="http://tinyurl.com/2zm9mz">available for download</a>.</p> 769 770<p>Lots of bug fixes, lots of changes to the Dashboard.</p> 771 772<p>New plugins:</p> 773 774<ul> 775 <li><a href="http://cruisecontrol.sourceforge.net/main/configxml.html#store">Cincom Smalltalk VisualWorks Store Source Control</a></li> 776 <li>Git <a href="http://cruisecontrol.sourceforge.net/main/configxml.html#git">Source Control</a> & <a href="http://cruisecontrol.sourceforge.net/main/configxml.html#gitbootstrapper">Bootstrapper</a></li> 777 <li><a href="http://cruisecontrol.sourceforge.net/main/configxml.html#http">Http Publisher</a></li> 778 <li>Mercurial <a href="http://cruisecontrol.sourceforge.net/main/configxml.html#mercurial">Source Control</a> & <a href="http://cruisecontrol.sourceforge.net/main/configxml.html#mercurialbootstrapper">Bootstrapper</a></li> 779 <li><a href="http://cruisecontrol.sourceforge.net/main/configxml.html#labelincrementer">SVNLabelIncrementer</a></li> 780</ul> 781 782<p>See detailed release notes <a href="http://cruisecontrol.svn.sourceforge.net/viewvc/cruisecontrol/tags/release-2-7-2/cruisecontrol/RELEASENOTES.txt?revision=3912&view=markup">here</a>.</p> 783 784 <p class="posted">- Posted by Jeffrey Fredrick on April 9, 2008 12:01 AM</p> 785 786 787 788 <p class="entrytitle"> 789 <!--$MTEntryTrackbackData$--> 790 <a href="archives/month200803/20080331-code coverage, state coverage, ICSE.html"> 791 <b>Introducing... State Coverage</b> 792 </a> 793 </p> 794 795 <p>The other software metric to come out of Agitar, <a href="http://www.crap4j.org">CRAP</a> is simply too much fun. So David Kao (a former Agitar intern) and I decided to take the levity down a notch.* The result?</p> <b><a href="archives/month200803/20080331-code coverage, state coverage, ICSE.html">more »</a></b> 796 797 <p class="posted">- Posted by Ken Koster on March 31, 2008 12:41 PM</p> 798 799 800 801 <p class="entrytitle"> 802 <!--$MTEntryTrackbackData$--> 803 <a href="archives/month200803/20080312-RegisterForCitconDenver.html"> 804 <b>Register for CITCON Denver</b> 805 </a> 806 </p> 807 808 <p><a href="http://www.citconf.com/denver2008/">CITCON Denver</a> is just around the corner, April 4th and 5th. This the 3rd annual CITCON North America event, the previous years having been in <a href="http://www.citconf.com/archive/chicago2006/">Chicago</a> (2006) and <a href="http://www.citconf.com/archive/dallas2007/">Dallas</a> (2007). CITCON events have also been held in <a href="http://www.citconf.com/archive/london2006/">London</a> (2006), <a href="http://www.citconf.com/archive/sydney2007/">Sydney</a> (2007) and <a href="http://www.citconf.com/brussels2007/">Brussels</a> (2007).</p> 809 810<p>For those who haven't heard about it CITCON is the Continuous Integration and Testing CONference, an open spaces (or "unconference") event that attracts an energetic and enthusiastic crowd of CIT practitioners from around the US, Europe and Asia. If you've never been to an open spaces event you can think of it as the best part of a normal conference -- the hallway conversation -- dialed up to 11!</p> 811 812<p>You can <a href="http://www.citconf.com/wiki/index.php?title=Main_Page">read about past CITCONs on the wiki</a> and then <a href="http://www.citconf.com/denver2008/register.php">register today</a>. But hurry, there are already 120 people registered and only 30 more registrations will be accepted!</p> 813 814<p>If you can't make it to Denver then you might want to plan ahead by registering now for <a href="http://www.citconf.com/melbourne2008/">CITCON Melbourne</a> in June or <a href="http://www.citconf.com/amsterdam2008/">CITCON Amsterdam</a> in October. Or maybe even all three!</p> 815 816 <p class="posted">- Posted by Jeffrey Fredrick on March 12, 2008 05:34 PM</p> 817 818 819
820 <p class="entrytitle"> 821 <!--$MTEntryTrackbackData$--> 822 <a href="archives/month200803/20080303-WebinarMakingTheBusinessCaseForContinuousIntegrationAndTesting.html"> 823 <b>Webinar: Making the Business Case for Continuous Integration and Testing</b> 824 </a> 825 </p> 826 827 This week on Wednesday March 5th I'll be giving a webinar on <a href="http://www.agitar.com/news/events/cit.html">Making the Business Case for Continuous Integration and Testing</a>. This webinar is a bit different than previous ones I've given on CIT. I wanted to address this topic because I've talked to a number of people at places like <a href="http://www.citconf.com/">CITCON</a> who believed that CIT was the right thing to be doing but they were inexplicably (to them) unable to convince others that continuous integration and the automated testing that goes with it were something worth investing in. So to try and help people I've put together what I see as the most compelling information and also some advice on how to tailor your case based on specific situation in your company. 828 829Following the slide portion of the webinar I'm going to answer questions from the audience. In addition to questions about the slides I'm also interested in hearing from people who've encountered obstacles in adopting CIT and I'll try and provide specific suggestions for getting around the problems. 830 831If you're interested in this material you can <a href="https://www1.gotomeeting.com/register/365832214">register for this webinar today.</a> 832 833 <p class="posted">- Posted by Jeffrey Fredrick on March 3, 2008 11:54 AM</p> 834 835 836 837 <p class="entrytitle"> 838 <!--$MTEntryTrackbackData$--> 839 <a href="archives/month200801/20080128-SurveyOnBusinessBenefitsOfUnitTesting.html"> 840 <b>Survey on Business Benefits of Unit Testing</b> 841 </a> 842 </p> 843 844 <p>Artur Hildebrandt is a MBA student at the University of Liverpool and currently running a survey on the business benefits and risks of unit testing. His goal is to identify and measure benefits software development organizations can gain by actively practicing unit testing. I think it would be great to have more information available to persuade management on the benefits of unit testing so I'm happy to promote his survey. If you'd like to take part <a href="https://www.surveymonkey.com/s.aspx?sm=zfbx0YhilnOVMwXpSjTWYw_3d_3d">his questionnaire available at online</a>.</p> 845 846 <p class="posted">- Posted by Jeffrey Fredrick on January 28, 2008 03:58 PM</p> 847 848 849 850 <p class="entrytitle"> 851 <!--$MTEntryTrackbackData$--> 852 <a href="archives/month200801/20080127-ContinuousIntegrationAtJaSST08Tokyo.html"> 853 <b>Continuous Integration at JaSST'08 Tokyo</b> 854 </a> 855 </p> 856 857 <p>I'm sitting here in SFO waiting for my flight to Tokyo. I'll be speaking this week at <a href="http://www.jasst.jp/archives/jasst08e.html">JaSST</a>, the Japanese Symposium on Software Testing. This will be a bit different from my normal talks on CI because I'll be focusing on the benefits of CI for testing groups rather than my normal focus on developers. And there will be translation into Japanese which makes for a very different presentation experience. But I'm very excited about giving this talk because Continuous Integration is less well known in Japan than in Europe, Australia or the US, so it will be fun to be bringing the message to a new audience.</p> 858 859 <p class="posted">- Posted by Jeffrey Fredrick on January 27, 2008 10:59 AM</p> 860 861 862 863 <p class="entrytitle"> 864 <!--$MTEntryTrackbackData$--> 865 <a href="archives/month200801/20080116-agitarone download evaluation eval.html"> 866 <b>AgitarOne available as a downloadable eval!</b> 867 </a> 868 </p> 869 870 <p>Several prospects and friends in the software development business have asked us to make a downloadable eval for <a href="http://www.agitar.com/">AgitarOne</a> available on our web site. <b>It is finally <a href="http://www.agitar.com/solutions/products/on_site_trial.html">here</a>!</b></p> <b><a href="archives/month200801/20080116-agitarone download evaluation eval.html">more »</a></b> 871 872 <p class="posted">- Posted by ashish on January 16, 2008 03:54 PM</p> 873 874 875
876 <p class="entrytitle"> 877 <!--$MTEntryTrackbackData$--> 878 <a href="archives/month200801/20080114-000458.html"> 879 <b>Hoorah for XSLT!</b> 880 </a> 881 </p> 882 883 <blockquote>It would be handy to have a report of all the unexpected exceptions that get thrown.</blockquote> 884 885<p>I've lost count of the number of times I've heard that. I've even said it myself a few times.</p> 886 887<p>It seemed like it would be pretty easy to do using the <code>dashboard.xml</code> feature of AgitarOne, so I decided to give it a try.</p> <b><a href="archives/month200801/20080114-000458.html">more »</a></b> 888 889 <p class="posted">- Posted by Kevin Lawrence on January 14, 2008 04:46 PM</p> 890 891 892 893 <p class="entrytitle"> 894 <!--$MTEntryTrackbackData$--> 895 <a href="archives/month200801/20080108-000457.html"> 896 <b>Crap4j 1.1.6 Released</b> 897 </a> 898 </p> 899 900 <p><a href="http://www.crap4j.org/news/?p=36">Crap4j 1.1.6 </a>is out. The new version features historical trends of CRAP metrics, and comparison by similarly tagged projects. Exciting!</p> 901 902 903 <p class="posted">- Posted by Bob Evans on January 8, 2008 12:06 PM</p> 904 905 906 907 <p class="entrytitle"> 908 <!--$MTEntryTrackbackData$--> 909 <a href="archives/month200801/20080103-000456.html"> 910 <b>JUnit Factory is a Jolt Award Finalist!</b> 911 </a> 912 </p> 913 914 <p>First we generate over a million free JUnit tests and then we get nominated for a Jolt Award. </p> 915 916<p>What a great end to the first year of <a href="http://www.junitfactory.com">JUnit Factory</a>!</p> 917 918 <p class="posted">- Posted by Kevin Lawrence on January 3, 2008 03:15 PM</p> 919 920 921 922 <p class="entrytitle"> 923 <!--$MTEntryTrackbackData$--> 924 <a href="archives/month200711/20071116-000454.html"> 925 <b>Configuring CruiseControl the CruiseControl Way</b> 926 </a> 927 </p> 928 929 <p><a href="http://studios.thoughtworks.com/2007/11/8/configuring-cruisecontrol-the-cruisecontrol-way">Configuring CruiseControl the CruiseControl way</a> from ThoughtWorks Studios presents what should be a standard practice. Checking your cruisecontrol configurations into version control and having cruisecontrol bootstrap with them.</p> 930 931<p>Now I could see it getting tricky if you have multiple build machines, but it seems like that would be pretty easy to handle as well by using different config files for different machines, or something similar. That might violate the DRY principle, so it would be good to think a little more about it. How do others deal with this?</p> 932 933 <p class="posted">- Posted by Bob Evans on November 16, 2007 03:55 PM</p> 934 935 936 937 <p class="entrytitle"> 938 <!--$MTEntryTrackbackData$--> 939 <a href="archives/month200710/20071031-000453.html"> 940 <b>Crap4j v1.1.4 Released, Available as an Ant Task now</b> 941 </a> 942 </p> 943 944 <p>Like the title says.</p> 945<p>This is particularly exciting because now it can be included in continuous integration setups.</p> 946<p>One natural next step would be to set a threshold value so that crap4j would throw an error that would fail the build. I would be curious to hear comments on how people would like that to work.</p> 947<p>Anyway, find out how to get the latest version at the <a href="http://www.crap4j.org/news/?p=21">blog</a>.</p> 948 949 <p class="posted">- Posted by Bob Evans on October 31, 2007 10:32 PM</p> 950 951 952 953 <p class="entrytitle"> 954 <!--$MTEntryTrackbackData$--> 955 <a href="archives/month200710/20071025-VisualizingComplexityAndCoverage.html"> 956 <b>Visualizing Complexity and Coverage</b> 957 </a> 958 </p> 959 960 <p>At <a href="http://www.citconf.com/">CITCON</a> Europe in Brussels last week one of the sessions I enjoyed was on CRAP4J and other metrics for bad code. (I've put <a href="http://www.citconf.com/wiki/index.php?title=Crap4J_and_other_metric_tools">my notes</a> up on the CITCON wiki.) Today Kevin reminded me that <a href="http://www.atlassian.com/software/clover/">Clover</a> has a similar metric for identifying risky code, a tag cloud that uses complexity to size the tag and the coverage level to color it. They have posted a sample using Lucene <a href="http://downloads.atlassian.com/software/clover/samples/lucene/project-risks.html">here</a>. This is a pretty neat looking approach... but honestly? I don't really like it.<br /> 961</p> <b>
961<a href="archives/month200710/20071025-VisualizingComplexityAndCoverage.html">more »</a></b> 962 963 <p class="posted">- Posted by Jeffrey Fredrick on October 25, 2007 01:12 PM</p> 964 965 966 967 <p class="entrytitle"> 968 <!--$MTEntryTrackbackData$--> 969 <a href="archives/month200710/20071024-000451.html"> 970 <b>Crap4j 1.1.3 released</b> 971 </a> 972 </p> 973 974 <p><a href="http://www.crap4j.org/"><img src="http://www.crap4j.org/images/new_banner_tp.png" alt="crap4j" /></a></p> 975 976<p>A new version of crap4j has been uploaded to it's new home at <a href="http://www.crap4j.org/">http://www.crap4j.org/</a>!</p><p> Please check it out and give us your feedback!</p> 977 978 <p class="posted">- Posted by Bob Evans on October 24, 2007 04:14 PM</p> 979 980 981 982 <p class="entrytitle"> 983 <!--$MTEntryTrackbackData$--> 984 <a href="archives/month200710/20071018-CITCONEurope2007StartsToday.html"> 985 <b>CITCON Europe 2007 Starts Today</b> 986 </a> 987 </p> 988 989 <p><a href="http://www.citconf.com/brussels2007/">CITCON Europe 2007</a> starts today in Brussels, Belgium. We're in <a href="http://tinyurl.com/2sydlg">a nice central location</a>, very close the Brussels North train station. As an open space event everyone has the opportunity to propose a topic for discussion. The one I'm most interested in is talking about <a href="http://www.crap4j.org/">Crap4J</a> and other ideas for metrics to spot bad code.</p> 990 991 <p class="posted">- Posted by Jeffrey Fredrick on October 18, 2007 11:59 PM</p> 992 993 994 995 996 <br /> 997 998 <p>(See the <a href="archives.html">Developer Testing Archives</a> for older posts.)</p> 999 1000<br />
1001<script type="text/javascript" language="javascript"> 1002<!-- 1003 var bName = navigator.appName; 1004 var bVer = parseInt(navigator.appVersion); 1005 var ver; 1006 if (bName == "Netscape" && bVer >= 4) { 1007 ver = 4; 1008 } else if (bName == "Microsoft Internet Explorer" && bVer >= 4) { 1009 ver = 4; 1010 } else { 1011 ver = 0; 1012 } 1013 if (ver >= 4) { 1014 document.write('<img src="/wusage_screen_properties.gif?' + 1015 'width=' + screen.width + '&' + 1016 'height=' + screen.height + '&' + 1017 'depth=' + screen.colorDepth + '">'); 1018 document.writeln(); 1019 } 1020// --> 1021</script>
1021 1022</div> 1023 <div id="rightcolumn1"> 1024 1025 <h2 class="stylecolorsitenr2">Developer Testing:</h2> 1026 <div class="sidebarsmenu"> 1027 <p> 1028 1) For every software function created, however big or small, the 1029 developer also creates meaningful tests that can be automatically 1030 executed to verify that the software works correctly 1031 </p> 1032 1033 <p> 1034 2) The developer does not check in the software function before the 1035 tests for that function pass 1036 </p> 1037 1038 <p> 1039 3) The developer adds the tests to a repository of automated tests 1040 that verify that all parts of the integrated system function 1041 correctly 1042 </p> 1043 1044 <p> 1045 4) This collection of automated tests is frequently executed, and the 1046 team commits to keep the tests passing at every stage of the 1047 development cycle 1048 </p> 1049 1050 </div> 1051 1052 <br /> 1053 1054 <h2 class="stylecolorsitenr2">Sites we RSS</h2> 1055 1056<div class="blogroll"> 1057
1058<script language="javascript" type="text/javascript" src="http://rpc.bloglines.com/blogroll?id=agitar"></script>
1058 1059 1060<!--
1060<script language="javascript" type="text/javascript" src="http://rpc.blogrolling.com/display.php?r=33bce79d360bfd2c8c199e828f292f52"></script>
1060 1061 1062<br /> 1063 1064<a href="javascript:void(rollpop=window.open('http://www.blogrolling.com/add_links_pop.phtml?u=developertesting.com&t=Developer Testing','rollit','scrollbars=no,width=475,height=350,left=75,top=175,status=yes,resizable=yes'));rollpop.focus();"><i>Powered by BlogRolling</i></a> 1065 1066 --> 1067<br /> 1068 1069</div> 1070 1071 <br /> 1072 1073</div> 1074 1075 1076 <div id="pagefooter"> 1077 1078<!-- 1079<a href="http://www.developertesting.com/index.rdf" 1080 title="RSS 1.0 subscription (use this one if you do not know how to choose your XML standard)"> 1081 <img 1082 src="/images/xml.gif" 1083 alt="RSS 1.0 subscription (use this one if you do not know how to choose your XML standard)" 1084 /></a> 1085--> 1086 1087<a href="index.xml" 1088 title="RSS 2.0 subscription, all authors"> 1089 <img 1090 src="images/rss2.gif" 1091 alt="RSS 2.0 subscription" 1092 /></a> 1093 1094<!-- 1095<a href="http://www.developertesting.com/rsd.xml" 1096 title="RSD subscription"> 1097 <img 1098 src="/images/xml.gif" 1099 alt="RSD subscription" 1100 /></a> 1101 1102<a href="http://www.developertesting.com/atom.xml" 1103 title="Atom subscription"> 1104 <img 1105 src="/images/xml.gif" 1106 alt="Atom subscription" 1107 /></a> 1108--> 1109 1110<a href="http://creativecommons.org/licenses/by-nc-sa/1.0/" 1111 title="Creative Commons License"> 1112 <img 1113 alt="Creative Commons License" 1114 width="44" height="16" 1115 src="http://creativecommons.org/images/public/somerights" 1116 /></a> 1117 1118 1119<a href="http://validator.w3.org/check?uri=referer" 1120 title="XHTML 1.0 Transitional, Validated with W3C Markup Validation Service v0.6.7"> 1121 <img 1122 src="http://www.w3.org/Icons/valid-xhtml10" 1123 alt="XHTML 1.0 Transitional, Validated with W3C Markup Validation Service v0.6.7" 1124 height="18" width="50" 1125 /></a> 1126 1127<br /> 1128 1129<a href="http://validator.w3.org/checklink" 1130 title="Links checked with W3C Link Checker"> 1131 W3C link checker 1132</a> 1133 1134 1135 1136<a href="http://www.movabletype.org" 1137 title="Powered by Movable Type"> 1138Powered by Movable Type 3.16</a> 1139 1140<br /> 1141 1142This weblog is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/1.0/">Creative Commons License</a>. 1143 1144<br /> 1145Agitar, Agitator, Software Agitation, Open Quality, and Quality Level Agreement are trademarks of Agitar Software, Inc.<br /> 1146 1147<p><a href="terms.html">Terms of Use</a></p> 1148 1149</div> 1150
1151<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> 1152</script>
vendor: 1 bytes, line 1152
1152
1153<script type="text/javascript"> 1154_uacct = "UA-1317508-4"; 1155urchinTracker(); 1156</script>
1156 1157 1158 </div> 1159 1160</body> 1161</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.