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.
We can add unit testing for each of the functional requirements in LessonPlan 2.0. Each time a function has been developed, it will be testing by developer as well as end user. The process will be iterative and user will be involved in all processes of software development life cycle. This will decrease the chances of later requirements modification as it costs a lot. Tools like JUnit will be used by developer for unit testing to ensure the correctness of a unit development in relation to requirement specifications.
When developing several units and functions that supposed to work together, an integration testing will be done.
As you stated, the last testing before release will be the acceptance testing by the end user.