66 QA interview questions and answers(Part 5)
Q45.What is good code?
A good code is code that works. The good code must not contain the defect or bug and is readable by other developers and easily maintainable. Organizations have coding standards all developers should follow, and also every programmer and software engineer has different ideas about what is best and what are too many or too few rules. We need to keep in mind that excessive use of rules can decrease both productivity and creativity. Peer reviews and code analysis tools can be used to check for problems and enforce standards.
Q46. What are the main attributes of test automation?
The main attributes are discussed below:
Maintainability: For each new release need to update the test automation suites.
Reliability: Accuracy and repeatability of the test automation.
Flexibility: Ease of working with all the different kinds of automation test ware.
Efficiency: Total cost related to the effort needed for the automation.
Portability: Ability of the automated test to run on different environments.
Robustness: Effectiveness of automation on an unstable or rapidly changing system.
Usability: Extent to which automation can be used by different types of user.
Reliability: Accuracy and repeatability of the test automation.
Flexibility: Ease of working with all the different kinds of automation test ware.
Efficiency: Total cost related to the effort needed for the automation.
Portability: Ability of the automated test to run on different environments.
Robustness: Effectiveness of automation on an unstable or rapidly changing system.
Usability: Extent to which automation can be used by different types of user.
Q47. What could go wrong with test automation?
Followings things may be go wrong in test automation:
- Ignoring automation, while planning the development phases.
- In design Phase not choosing the right technology.
- In coding Phase not automating the right test cases.
- Tool selection might go wrong.
- Test script not be updated when application is continuously changing.
- Test data should be unique, if the same data is available on the application then the application will not accept the data that we are going to add via automation.
Q48. What tools are available to support testing during development of application?
Following tools can be used to support testing during development of application:
- Test management tools example: Quality Center, JIRA.
- Defect management tool example: Bugzilla, Test Director.
- Project management: Sharepoint.
- Automation tools: QTP, RFT, WinRunner.
Q49. What are the tests activities that you want to automate in a project?
The following testing activities can be automated:
- Functional tests: Identify some P1 and P2 cases which are most critical for project success and operations and automate them. After every new build, these scripts will assure the fixes does not broke any of the critical functionality.
- Regression test suites: Test the need to be run after each build.
- Performance tests: Identical test the need to be run on different browser.
- Stress tests
- Load tests
Q50. What is the difference in responsibilities of Programmers and QA analyst?
The differences in responsibilities are listed below:
- QA is concern for Process Quality and Programmers are concern for Product Quality.
- QA ensure that the processes used for developing the product of high quality where as programmers used these processes so that end product is of good quality.
- Processes are decided by QA. Programmers are supposed to follow the processes so that they can produce a good quality product.
- Any issue found during execution of process by the programmers is communicated to the QA so that they can improve the process.