IS480 Team wiki: 2017T1 CodeBenders UserTesting

From IS480
Jump to navigation Jump to search

Codeblender logo.jpg
Home CodeBlenders.png


Users CodeBlenders.png


ProjectOverview CodeBlenders.png


Calendar CodeBlenders.png


File CodeBlenders.png




User Testing

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:

1) Development

2) Integration

3) Deployment

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.

Phase Done By
Lead Quality Assurance Developers
Development 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.
Integrated Testing 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.
Live deployment 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