????????????????

?????饗Introduction??

??????????????????????????????????????test-driven development??????????????????????????????г???????????????????С?????????????????????????????????????????????????????????????????????????????????????????????????????ò???????????????????????????в?????????????????????????????????????????????????????????????ò??????????????????????

????????????Manual Testing??

????????????????????????????????г??????????????????????????????????????к???????????????????????????????????????????????????????????м?????????????????ν??棬?????????κ???????á????????web????????????????web??á?????????????????????????????п????????????????????????????????ú??????????????????????????????????????????????????????????????????????????????
????????????????????

?????????????????С????????????????????????????????????????????????bug???????????2???????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????′???????????????????????????????????????????????Щ?????????????????????????????????????????????????渺????????????????????????????????????????п?????????????????Щbug??????????????????????????????????????????????????????????????????????й???????????????????У??κ??????????????????δ??????е?????????????????
???????????????????????е?????????????????????????????????????????????????????????????????????????????????????????λ?????????????????????????????bug??????????????????????????????????????????????????????????????????????????У????????е????????????????????web??????????????????????????????????????Щ???????????????????????????????????????????????????????????????е??????
?????????????????е??????????ж????????????????????????????????????????????????????????????????????????????????????涼????????????????????????????????????????????????????п???????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????Automated Testing??

?????????????????????????????????????????????????????Щ?????????????????????????ζ??????????????????????????????????????????????????????????????????Щ????????????????????????????м???????????????????????????????????????????У???????????????????????????????????????????????в??????????ζ????????????????????????????????????????????????????????????????Щ??????????????????????????????????????У?????????????????????£??????????????????????????????????????????????????????????????????????
????????????????????????????????????????????recorded macros??Mercury Interactive (http://www.mercuryinteractive.com/products/winrunner/)??WinRunner????????????????????????????????????????????????????????????????????????????????????λ???????????parsed document?е??λ?á????????????????????????????????????????????????????????????????????????????????????????飬

?????????web??????????????????????????API????????????????????????????????????????????????????????????????????????е????????????????????????????????????Java??????????????г???????????÷?????????????????????????????????API?????????JUnit??HttpUnit???????????????web??????????????????????????????????????????????????????????????????е????????????????????????????????á????????????????programmatic testing??API-driven testing??????programmatic API-driven testing??

?????recorded macros???????????API??????????????????????????????????????????????????????????????????????????????????????????????????????д?????????????????????????????????????????????????????????????????????????????????????????????????в????????????????????????????????????????

???????????API???????????????????????????????????????????????ó????????????????????????????????????????????????????????????????????recorded macro?????????????????????????????д??????????????????????????????????????????????????????á??????????????????е???????????????????????????recorded macros?????????????????????????????????????????е???ó???

?????????????recorded macros????????л???API???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

??ó????????????????????????????????????????????????в??????????????????????????????????£????????????????в????????????????????????????????????????????????????μ??????????н??????????????????????web??????????????????????????????API??????????????????????????????????????????????в?????????Щ??????????????????????????????????У??????????web???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Щ??????????????????????????????????????????????????????????????????????????????????????API?????????г?????????????????????????????????????????????????????????forms???????????????????????Java???????????????
?????????????????????????????????????????????

???????????????????????????????????????????????????????β??????????в?????
??????????????ζ????????????????????????????????????cumulative???????????????????Щ???????????????Χ??????????????????????????????????????????д??????Щ???????????????????????????????????cumulative???????????????????????????????????????????????????????????????????????????????
????????????????????????????????е????API????????????????????????????????????????????????????????????????????????????????????е???????????????????????????????????????κ???????????????????web???????????????????????????????к?л????????????????????1???API???????????API????????????????????????л??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????ò????????????????????bug?????????????????????????μ?????п???????????????????μ?????????????????????μ????????????????????????????????????????????????????????????????????????????????????κε????????????С?

????????Tools??

???????????????????????????

JUnit??JUnit???????????檔?????????????JUnit??????????????JUnit??????????????????????????????????????????????檔??????www.junit.org???JUnit.
HttpUnit??HttpUnit????JUnit???????????????????web?????в????in-container?????????????????????????????????????????????????????????????????????????HttpUnit???????????????????????????HttpUnit??????????HTTP??web?????????????????????????????cookies????????????????????HTML??????????????????web spider?????????????Щ??????HttpUnit??????????????????????ServletUnit????JUnit????????????????湦?????????HttpUnit????????????web??÷?????????????????www.httpunit.org???HttpUnit??
jWebUnit. jWebUnit????HttpUnit??????????????????????????????web?????????д????????????????????????HttpUnit???????????HttpUnit????ε?????????web????????е??????????HttpUnit???????????????????????????顣????????jWebUnit??????????????????HttpUnit?????????????????jWebUnit????????????????????????????и??????????????http://jwebunit.sourceforge.net/???jWebUnit??
StrutsTestCase. StrutsTestCase???????Struts?????JUnit?????????????????Struts????Java????web???????????????????-???-????????MVC?????????????????????????????????????????????????Struts?web??????????in-container?????????????????????????????????servlet???????????????????ζ???????????????Struts???????Struts???????????????????????web????????????HttpUnit???в???????????ú?á???????????HttpUnit??Struts?????????????????HttpUnit???????λ?????????servlet???????StrutsTestCase????Struts????????????????????StrutsTestCase??????http://strutstestcase.sourceforge.net/??á?

?塢???Conclusion??
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????£???????л???????????????????????????????????????С???д??????????????????????????????????????
?????????????????????????е??????????????????????????????????????????Test-driven Development for the Business Tier?????????????????????????????????????EJB???????Java??

????
Wellie Chao??1984?????????????????????????1994?????????????????????????????????????????????Java??Perl???????к???????裬???????????Java???鼮?????С?Core Java Tools????Prentice Hall??????????Ant??CVS??JUnit????Java??????м????????????????????????????IBMdeveloperWorks??DevX??TheServerSide??????????????????????????????????Java???????????????????????????????????????????????????????????????????????