To help ensure an easy to use system for all users, which will in turn reduce support costs for our business, we will conduct thorough testing. Such testing will take place at various stages in the project lifecycle:
Unit Testing
Unit tests can be written for each of the functional requirements in LessonPlan 2.0. Each time a function has been developed, it will be tested by both developers and end user. The process will be iterative and users will be involved in all processes of software development life cycle. This will decrease the chances of later requirements modification, which is costly. Tools like JUnit will be used by developers for unit testing to ensure the correctness of a unit’s implementation in relation to requirement specifications.
Integration Testing
When developing several units and functions that supposed to work together, integration tests will be created to ensure interoperability of the components and to prevent error regression.
Prototype Acceptance Testing
When a design prototype is produced, potential users will be asked to try out the prototype system. They will provide feedback that can then be used to prevent usability problems and inform feature decisions.
Pre-release Testing
Select users will be offered the opportunity to try new updates and features before general release. This testing allows us to catch any potential bugs and usability problems before all users of the system are introduced to them.
This style of testing will happen repeatedly, mostly after new features have been developed and are ready to be released.