SMT483G2: Cerebro User Testing
Testing Procedure
In general, there are four levels of testing: unit testing, integration testing, system testing, and acceptance testing. The purpose of Levels of testing is to make software testing systematic and easily identify all possible test cases at a particular level.
Testing:
1. Unit Testing
A Unit is a smallest testable portion of system or application which can be compiled, liked, loaded, and executed. We use Django to test each module separately.
- Things to test:
- - CRUD of User Information/ Stored analysis results
2. Integration Testing
Make sure that integrated system is ready for system testing.
- Things to test:
- - JSON analysis results returned correctly on the frontend pages
- - User Information E.g. Name, Profile returned correctly on frontend pages
3. Systems Testing
It involves load, performance, reliability and security testing.
- Things to test:
- - Time Performance of each analysis api call
- - Load testing of EC2 Instance
- - Availability failover test if number of users increase
- - Basic Security testing using OWASP ZAP
4. Acceptance Testng
Acceptance testing is a test conducted to find if the requirements of a specification or contract are met as per its delivery
- Questions to ask:
- 1. What does this visualization show? On a scale of 1-5, how clear is the visualization.
- 2. Test frontend screens, e.g. upon login do you see your name?
- 3. Task based questions. e.g. Login, Get sentiment about a certain keyword