I (KimballSampson) want to use something like Wiki to design a UnitTest test plan. My Rights''''''Management application for Discovery Communications is VAJ/EJB using WebSphere and combines info from Oracle and MS SQL Server. I really think I used ExtremeProgramming to build this system before knowing what it was, also, I've made extensive use of the FactoryPattern before knowing it was a DesignPattern. ------ 4/9/01 Update on JUnit implementation Okay, so now I realize that to implement something like JUnit for automated testing that I must take a bottoms up approach, and not a top-down as discussed below where I just listed all my Classes alphabetically. I realize that I've got to write the UnitTest''''''s for my base classes, and yes, Interfaces. The benefit, is that it's easier to test my base classes because they aren't as entwinded in the web based Framework. ------ 4/6/01 Ok, I've just Discovered the Free Java UnitTest''''''er called JUnit, I've been digesting it over the past couple days. The first issue that comes to mind is, "How am I going to integrate this into my application?" The challenge to me is that I need to test my Classes as they function in a Web Environment, not to mention EJB database transactions, not to mention Oracle stored procedures, not to mention (.JSP) servlets, and not to mention an in-house developed Session Managed Servlets framework. My initial thinking is that JUnit won't quite do in total. But now I'm thinking, I need to build a testing component that is Web based the way the application runs. I figure, I'll start the application up the way it normally does, and they have a hook in there knowing that the developer has logged in, so that it may give access to the Testing Pages. 4/6/01 - KimballSampson ''Steer away from any ''testing strategy'' which involves a person logging in and performing tests manually. It's time consuming and error-prone. A decent UnitTest''''''ing tool, such as JUnit, can test your application at many levels, including the Servlet, EJB, and Database testing. JSP testing is harder, but there are tools such as HttpUnit and J2EEUnit that can help out there. -- rw'' ------ ''The question might sound a bit silly, but we '''are''' talking about automated UnitTest''''''s here, right?'' Well, I'm sure it will be a hybrid implementation. I know for sure that my stored procedures will have an automated testing script. The goal for me is turnaround time. I don't want it to take more than 3 hours to complete the UnitTest''''''s. (Is that reasonable? I don't know). If we can perform the UnitTest''''''s manually in a reasonable amount of time, then why not? ''The goal should be to run your UnitTest''''''s over the affected part of the system every time you make a change and compile. Doing the tests manually gets very dull even if it's quick. It's a lot more efficient to make them automated. For example: I run my UnitTest approximately once every 10 minutes. That's six times an hour, over eight hours, for 48 executions a day. If the UnitTest''''''s take more than a minute to run, they cost me an hour of my productivity... whenever the cost goes up, it means that I need to componentise the system some more, as I run the UnitTest''''''s only over the active component. When I go to integrate my changes, I run the full suite of UnitTest''''''s, PLUS the acceptance tests. I integrate three to four times a day. -- RobertWatkins'' ------ I'll just start out by listing all the packages/classes for Rights''''''Management. I don't think I'll list the interfaces since they are totally abstract and have no code to implement. If the Application has Compiled, then I guess I've passed the UnitTest''''''s with respect to Interfaces. ''Actually, there's a lot to be said for "testing interfaces:" the interface defines a contract that all classes implementing that interface must satisfy. No, a successful compile is not a sufficient test; it only shows that the implementing classes have the appropriate method signatures. You need a test for each interface to see if each implementation of the interface follows the rules of the interface. -- JeffGrigg'' ''See TestingInterfaces for more information -- rw'' ----- ''Do you really want to do this sort of thing in a public forum? Most companies avoid talking about the guts of their products in public.'' ''It's a great idea to use a WikiWikiWeb for this although as mentioned above, you may want to install your own Wiki at your company instead of using a public one... Check out WikiWikiClone for a place to find a Wiki that right for you.'' Yeah, I won't divulge too much, but really, the only thing I'm giving away is that fact that we are using Java, and EJB, and Oracle to track our ContractedProperties. But all you need to do is turn on the TV to realize that we own some sort of right to ''Junkyard Wars''. ----- Also, I'm not really sure how this thing will flesh out, really, I'm just brainstorming here, further, I've never really been on a project where the code we developed was worth anything to anyone else, unless they had us around to implement it.