In the two-semester team project based course sequence CSCI577a/b, students learn to use best software engineering practices to develop software systems for real clients. They adopt the Incremental Commitment Model (ICM) to develop software projects, and in most cases, the students have little to no industry experience and little project management knowledge.
During the second half of the software engineering course sequence, the student teams implement and test the systems that they have designed. These software systems are then put to use in a real operational scenarios by real clients; therefore, they require certain levels of testing to verify and validate that the quality of service, or level of service, of the systems can be achieved. For the past few years, some of the project teams have been utilizing eValid to automate their testing process as well as to prove their achievement of the level of service goals, especially for load and performance testing. At the end of each project life cycle, students get the chance to reflect and review the entire development process that they went through, including the testing process.
PhD student P. Aroonvatanaporn, came to this conclusion: "Despite certain areas that eValid may be lacking, it has been proven that the eValid tool has played significant roles in help creating successful projects in the software engineering course at USC. The projects developed and deployed as a result of this course have achieved roughly 90% on-time delivery and client satisfactory. Part of this success comes from the use of good testing suites, such as eValid, to ensure product quality before they are delivered to the clients."
Here are some of the students' specific observations:
- "Our team found it [eValid] very easy to use as we had to check for large amount of data in form of documents, images and digitized documents for load testing. Moreover it performs line-by-line checking and catches any loose ends that have been overlooked." -- A. Paradkar (Team 13).
- "This tool is very useful and powerful; it not only can perform functional testing but also can perform pressure [load] testing." -- Qi Li, (Team 12).
- "I used eValid to test 10 concurrent users. I first recorded a playback of one of our test cases. I then created a load test that ran the saved playback 10 times, with a wait period of 0 between each call. When I ran the load test, eValid opened 9 more instances of itself and ran the playback in each instance" -- W. Halverson (Team 5).
- "eValid provides the user with an interface that is simple and intuitive enough that it does not require users to high technical knowledge to use the tool." -- P. Aroonvatanaporn (Team Administrator)
- "[eValid] could be improved by making the Load Test Functionality automated. Modification of a Test Script should be minimum and support [the] change [of] number of users to any amount should be configurable through the GUI. Similarly, for Performance Testing one should be able to set the timer at any given point in the sequence of action/activity recorded." -- V. Bhaskar Rao (Team 3). (Our observation is that this student did not read the manual, as both of his requirements are actually implemented in the eValid Product.)
We certainly appreciate their work and the work of everyone at USC/CSSE, and we especially thank Mr. Aroonvatanaporn for this very positive review.