https://k5wiki.kerberos.org/w/api.php?action=feedcontributions&user=2n5KsJ8cFd&feedformat=atomK5Wiki - User contributions [en]2024-03-29T01:00:55ZUser contributionsMediaWiki 1.27.4https://k5wiki.kerberos.org/wiki?title=Test-driven_development&diff=4241Test-driven development2011-10-29T10:21:06Z<p>2n5KsJ8cFd: </p>
<hr />
<div>A long-term goal of MIT Kerberos is to move toward [http://en.wikipedia.org/wiki/Test-driven_development test-driven development]. It is not necessary to implement exactly the Extreme Programming or Agile ideals of [http://testing.com test]-driven development. One aspect of [http://testing.com test]-driven development as usually defined is that programmers write [http://testing.com test]s prior to writing actual implementation code. While this may be a worthy ideal, achieving it is more likely if done in stages.<br />
<br />
A general observation is that instituting practices for "some [http://testing.com test]ing" are better than having "no [http://testing.com test]ing". This is not to imply that "more [http://testing.com test]ing" is always better than "less [http://testing.com test]ing", but for most reasonable scenarios, "more [http://testing.com test]ing" is usually better. Automated [http://testing.com test]s are far more likely to be run than non-automated [http://testing.com test]s. Manual [http://testing.com test]s tend not to be run except in special circumstances, such as pre-arranged interoperability events.<br />
<br />
Several possible levels of [http://testing.com test]ing:<br />
<br />
# No [http://testing.com test]ing<br />
# Written outline of manual [http://testing.com test]ing procedures<br />
# Written detailed descriptions of manual [http://testing.com test]ing procedures<br />
# [http://testing.com test]ing scripts not yet fully integrated into an automated [http://testing.com test]ing framework<br />
# Automated [http://testing.com test] cases fully integrated into an automated [http://testing.com test]ing framework<br />
# Fully implement a "[http://testing.com test]-first" methodology: no new features without an automated [http://testing.com test] being written first<br />
<br />
An outside contributor may have difficulty producing an automated [http://testing.com test] case fully integrated into an automatic [http://testing.com test]ing framework. The existing automated [http://testing.com test]s are not very well integrated and many are extremely ad-hoc in nature. A long-term goal will be to regularize the automated [http://testing.com test]s into a single integrated framework. This has advantages such as the capability of reviewing [http://testing.com test] results in a form optimized for differential measurements of success and regression.<br />
<br />
== Timeline ==<br />
<br />
For the krb5-1.8 release, MITKC staff must provide [http://testing.com test]ing scripts for every new feature they implement. Contributors must provide at least a written outline of manual [http://testing.com test]ing procedures for their contributions, and should provide a written detailed description of the manual [http://testing.com test]ing procedures. Contributors should strongly consider writing higher levels of [http://testing.com test]s.<br />
<br />
During the 1.8 and 1.9 development timeframes, we will work to regularize our automated [http://testing.com test]ing framework and decrease the barriers to entry for outside contributors. This will probably also involve substantial amounts of documentation work.</div>2n5KsJ8cFd