UT1 | UT2 | UT3 | UAT
Define Objectives and Scope
In each iteration, we will be conducting shift-left testing which involves testing during the stages of:
This will allow us to solve bugs and code issues as soon as possible and isolate the causes of errors at the initial stages instead of having them being carried over to the later stages.
Additionally, testing will be performed on every functionality that has been implemented and completed till date. This will allow us to identify the presence of any bugs in the application that was previously undiscovered by the developers during development phase. Our application will be tested using Android and iOS emulators that can run the smartphone application.
To ensure that we achieve top-notch quality assurance for our functionalities, we will perform comprehensive manual testing in every iteration.
During the development phase, the quality assurance specialist will work alongside the developers to conduct individual testing on their respective functionalities using the 2 emulators before committing their codes onto our shared GitHub repository via GitKraken (GUI Git Client). In order to minimise errors and create application functionality in a way that is suited for testing, we will be employing test-driven and behaviour-driven programming strategies for our back-end and front-end functionality development respectively.
Manual testing on the application will allow us to identify bugs that was missed out from automated testing, thereby providing an avenue to develop solutions for the UI, frontend and backend of the application. Furthermore, manual testing introduces the human factor into testing, which better simulates our real world human users. This allows us to better identify problems that might surface during real usage due to human behaviour.
Once all bugs have been fixed, the following processes will take place:
1) The newly developed functionality will be locally integrated with the other existing functionalities
2) Another round of testing will take place on the locally integrated application.
3) The current application state will be deployed onto the server
4) The lead quality assurance will run a final check by repeating the test using the set of test cases that was used and passed earlier.
By segregating and performing multiple rounds of testing, we can ensure that development errors, integration errors and deployment errors are addressed at the each of the stages in which they arise, thus resulting in incremental bug fixes and patches as well as preventing errors from being carried forward into the next stages. This will help to ensure that the deployed application works with no major incidents, and ensures that integration of functionalities do not cause old bugs to resurface or introduce new bugs.
After the above check, the application will be exported and deployed on the physical Android and iOS mobile phones. The team lead quality assurance will perform regression testing on the application running on the physical mobile phones and run through all the test cases till date to ensure that the functionalities are not affected during integration. The physical phones also accurately represent the actual usage of the application in the environment that an end user will be using the application. Bugs that has been identified will be updated in the bug logs and relevant developers will be notified of the issues and corresponding priority level.
For all bugs found, they should be resolved within 3-4 days. The 4 days will be as follows:
Day 1: Identify the bug
Day 2: Fixing the bug (refer to bug metrics)
Day 3: Ensuring that the bug has been resolved via testing.
Day 4: Buffer day if the fixing of bug takes more than 1 day to fix.
|Lead Quality Assurance
||Construct test cases for all functions in the current iteration.
Conducts testing on the individual resulting functionalities at the development stage.
|Individual developers will conduct testing for function developed.
||2) Quality assurance tests the functions againist the exisiting test cases. All bugs found will be recorded into the bug log document.
4) Quality assurance verifies that all known bugs has been resolved.
|1) Developers will collaborate to bring the various individual functionalities together to integrate it with the existing application.
3) Individual Developers will debug the functions based on the entries within the bug log.
|Staging Server Development
||Once all knowns bugs are resolved, the application will be pushed to the staging server for testing
|Regression Testing within Staging Server
||1) Conducts regression testing againist the existing test cases. All bugs found are recorded into the Bug Log document.
3) Verifies that known bugs has been resolved.
|2) Individual developers debug the functions based on the entries within the bug log.
||2) Does one final round of testing to ensure that there are no major bugs represent and phone application is working as designed.
3) Generate final bug score and wiki documentation for each iteration
|1) Application is deployed live