Tips for upgrades Career Quality Assurance – QA
The purpose of Quality Assurance – QA is to find bugs, but still support the ultimate goal is to make the product better, rather than criticize, evaluate developers.
1) What is the difference between manual test vs automated test?
At first, the form of popular software testing is manual testing. For example, to log in test form, a Manual QA will enter username and password, and then click “log in” to see results successfully logged in or not.
An automated QA will write the script to run automatically all the steps include entering information, click, test results, comparing actual results with the results of assumptions.
Many types of tests may be done auto, such as functional testing, performance/load testing, unit testing.
2) What are the strong points and weakness points of automated test vs manual test?
2.1) Strong points automated test:
- Reliable. Test run exactly according to pre-defined processes, thus avoiding many human errors, such as incorrect data entry.
- Can test how the software handles (features/performance) when have situations running repeated many times (the same time) on the same test script. It also called performance/load testing.
- Can program a lot more sophisticated test to obtain information hidden from the application. At this point, manual testing cannot be done.
- Test comprehensive high. Can create a testing to cover all feature in the application.
- Can reuse tests on different versions of the application, even if the interface changes. For example: when producing software, we need to test products in a variety of environments: Testing environment, UAT environment, Production environment. If you run a manual test, the test case takes am hour, we will spend three hours three environments. That during the product development process, we have to repeat the process of testing countless times, leading to loss of time if doing manual test. Instead, just write a script to test each time to deploy a new environment, we just change the URL is self-run test.
- The quality and software performance are better because we can run more tests in less time with less resource as possible.
- Automated test tool helps run faster manually test.
- There is economical because it can mitigate the human resources to do testing.
2.2) Weakness points automated test:
- Multiple tool with very high costs, such as the HP Quick Test Pro, commercial tool.
- Often wages paid to automated QA more than manual QA, because their job requires higher skills, such as to know the code, scripts must be written.
- The cost to develop and maintain high test script. For example: With a test case, manual test takes 1 hour, when converted to run automated tests, to prepare test script (which in case of difficulty), it may take 6-7 hours to write test scripts. Written test scripts required programming skills and tool to run the test. So, automated test costs higher for manual test.
- Requires Quality Assurance – QA have experienced technical and programming skills.
- Requires a longer preparation time to design, install carefully before putting the project should go test.
- There are projects should not run automated tests, but many QA is still misunderstand and run automated tests, leading to loss of time, resource and effort. For example: when a test is too complex a function of an application or a GUI object must run manual tests.
3) A challenge that all automated Quality Assurance (QA) in the beginning are encounter?
One major challenge is to communicate with the developers. When beginner, QA find bugs, they only told to developers that “I feel error here, there, and that, you edited go”. At that time, they often stick to arguing with developers because:
- They do not indicate what that error details, step by step to make errors
- Their attitude when working with developers is not only not actively building products but also somewhat criticized and evaluated developer.
Process communicate with developer should be as below:
- A summary problem
- Figure out the specific steps in its test process
- Explain in detail what is it an error.
- Show the expected results
- Give for developers see screenshots bugs
The relationship between QA and developers are mutually supportive relationship. The purpose of QA is to find bugs, but still support the ultimate goal is to make the product better, rather than criticize, evaluate developer.
4) These skills are necessary for an automated Quality Assurance (QA)?
- Understanding the principles of identification test objects: If you do Web you need to understand HTML and XPath. You can learn this in W3school.
- Understand the principles of programming and mastering at least one programming language.
- Do not bypass SQL and XML: you can learn at TutorialsPoint and W3school.
- What you want to go into good design framework/common library should look deep understanding of software design pattern.
- Automated QA related to coding so you need to care about skills of code as debug, source version control, coding convention, unit test, …