Test Methodology, Scenario and Test Case

Explain a.) Test Methodology b.) Test Scenario c.) Test Case d.) Requirement traceability matrix

a.) Test Methodology
Testing methodology determines how an application will be tested and what will be tested. Example of methodologies: waterfall, agile etc.

b.) Test Scenario
Test scenario is a logical grouping of test cases and it mentions the sequence in which the test cases are to be executed.

c.) Test Case
A test case is a unit level document describing the inputs, steps of execution and the expected result of each test condition for every requirement from the BRD. Testers determine whether the application is working correctly or not based on the test case that is being executed. A test case is marked as "Pass" if the application works as expected and is marked as "Fail" if otherwise. Test cases also aide in generating test status metrics.

d.) Requirement traceability matrix
RTM is a matrix tying up requirements with the testcases. It is a way of making sure that every requirement has a corresponding testcase which will be tested thereby ensuring complete requirements coverage.

Differentiate between smoke testing and sanity testing.

-Smoke testing verifies all areas of application; sanity testing verifies one or few areas only.
-Smoke testing is done before accepting code for testing - Sanity testing is a subset of regression testing and is used whenever it is sufficient to prove that the application is working as per requirements.

What is STLC?

STLC is Software test life cycle. It includes
1. Impact assessment: How much testing impact a new project has and how much level of effort will be required.
2. Work allocation: Assigning resources to testing the project
3. Requirements knowledge gaining : Understanding the BRD and SRS thoroughly
4. Test planning : Determining what will be the high level test scenarios, what test data will be required, how to stage them, preparing the test plan etc.
5. Writing testcases : Preparing test cases based on the understanding of the requirements and high level test plan
6. Executing : Once the code is dropped, verifying the application based on the testcases
7. Bug tracking : Raising defects and tracking them to closure
8. Traceability: Providing traceability documents to clients for passed testcases.
9. Sign off: Signing off the tested code once exit criteria is reached.

What would you do if you see a functionality in the software which was not there in the requirements?

This scenario is called gold plating which is offering more functionality in the software than what was required by the client. In this situation, I would get in touch with the client contact and get their consensus about the new functionality. If they are happy with the new function, I will get it updated in the BRD and provide necessary updates to RTM, testcases etc.

What is automation testing? Can automating a test improve the effectiveness of test?

Test Automation is execution of testcases with help of software's like Win runner, QTP, Selenium to compare the actual results with expected outcomes, by setting up preconditions or checkpoints. Automation testing is often used in regression testing than progression testing. Its quite reliable and provides better results when used on the applications or system which is quite stable. Otherwise it would be laborious and time consuming.
Yes, Automating a test makes the test process:
1. Fast
2. Reliable
3. Repeatable
4. Programmable
5. Reusable
6. Comprehensive

What are the various automation tools available in testing? How will you decide on a tool for test automation?

There are quite lot of Automation tools available in market. Notable and reliable tools as follows:
-HP Quick Test Professional HP 11.0
-Load Runner
-IBM Rational Functional Tester IBM Rational
-Rational robot IBM Rational 2003
-Selenium Open source 1.0.10
-Silk Test Micro Focus 2010 R2
-Test Complete Smart Bear Software 8.2
-Test Partner Micro Focus 6.3
Decision on which tool to be used for Automation is solely depended on the project requirement. There are few points that need to be considered while selecting the tool:
-Cost of the Software tool which support your platform and technology
-Programming language - Easy to learn and use. This covers:
  - Easy debugging and logging
  - Test Data Management
  - Reporting Features Failure and Error Logging
  - Re-usability of components and libraries

1 comment:

Anonymous said...

v nice tutorial