Q1: What is ‘Software Testing’? What do you mean by ‘Validation’ and ‘Verification’?
Software testing is a process of executing a program or application with the intent of finding the software bugs. It can also be stated as the process of validating and verifying that a software program or application or product: Meets the business and technical requirements that guided it’s design and development.
Both ‘Verification’ and ‘Validation’ and are used to finds a defect in different way, Verification is used to identify the errors in requirement specifications & validation is used to find the defects in the implemented Software application.
Verification includes all the activities associated with the producing high quality software: testing, inspection, design analysis, specification analysis, and so on. It is a relatively objective process, in that if the various products and documents are expressed precisely enough to verify software
In contrast, validation is an extremely subjective process. It involves making subjective assessments of how well the (proposed) system addresses a real-world need. Validation includes activities such as requirements modelling, prototyping and user evaluation.
Q2: How do you test the login feature of a web application?
- Sign in with valid login, Close browser and reopen and see whether you are still logged in or not.
- Session management is important – how do we keep track of logged in users, is it via cookies or web sessions?
- Sign in, then logout and then go back to the login page to see if you are truly logged out.
- Login, then go back to the same page, do you see the login screen again?
- Sign in from one browser, then open another browser to see if you need to sign in again?
- Login, change password, and then logout, then see if you can login again with the old password.
Q3.What is Agile Testing?
Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product
Agile Methods break the product into small incremental builds. These builds are provided in the iterations .Agile methodology needs very limited planning .Agile assumes that the end users’ needs are ever changing in dynamic IT world.
Agile is a Multi Iterative life cycle is the way by which the project is broken up in several smaller pieces Let’s assume we have to create a large website , and the website has 12 web pages that are going to be apart of whole flow .
In an Agile environment, we will work on one page at a time and the iteration is going to be completed in the period of a month. So at the end of the month there is always a deliverable product that the end user could use and provide it’s feedback on
At the end of the sprints you are getting a product .Scrum is one of the version / way /principle / framework of Agile
Around 80 -85 % projects are implemented in Scrum and a popular way to implement agile
Within Scrum, each iteration is called a Sprint
A Sprint is the initiation of one iteration and then completion and at the end of a sprint there is end product or a piece of a software / project that would be delivered to the customer that he could use it and tell what is his feedback is on that specific piece
This is a very useful development method as a customer has a constant feedback before the actual whole end product unlike waterfall model where customer has zero visibility
In Agile you have maximum visibility, every 3 weeks, every 4 weeks depending the length of the iteration that the customer chooses, he gets the piece of the software at the end of the sprint
For more details:http://advantosoftware.com/
Q4: What is negative and positive testing?
A negative test is when you put in an invalid input and receives errors. While a positive testing, is when you put in a valid input and expect some action to be completed in accordance with the specification.
Q5: What is the difference between re-testing and regression testing?
Both Regression Testing and Retesting are re execution of test cases.
In Regression testing re execution of test cases is done on a modified form of a build or code (due to new functionality added or due to integration of modules or any future enhancement done, to check whether any functionality that were working correctly in previous build, is working fine in current build or not) near the end of testing cycle. It usually verifies that a change in one area doesn’t affect other or unrelated areas. Example, Functionality is A is dependent or related or has effect on functionality B and C So if a bug fix happens to functionality A then after verifying the bug fix, you will execute all the test cases related to Functionality A,B and C
Whereas in retesting re execution of test cases is done in the same application with different input values after fixing bugs to ensure that bugs are actually fixed.( If the test case is pass ,the bug will be closed otherwise it is reported to developer again and cycle repeats still bugs are finally passed or postponed.)
Q6 : What are the tables in testplans?
Test design, scope, test strategies , approach are various details that Test plan document consists of.
1.Test case identifier
3.Features to be tested
4.Features not to be tested
5.Test strategy & Test approach
8.Staffing and training
9.Risk and Contingencies
Q7: What is the difference between test scenarios, test cases and test script?
Difference between test scenarios and test cases is that
Test Scenarios: Test scenario is prepared before the actual testing starts, it includes plans for testing product, number of team members, environmental condition, making test cases, making test plans and all the features that are to be tested for the product.
Test Cases: It is a document that has set of conditions which is used by tester to perform the testing of application to make sure that application is working as per the requirement of the user and contains information like test steps, verification steps, prerequisites, outputs, test environment, etc
Test Script: It is written in a programming language and it’s a short program used to test part of functionality of the software system. In other words a written set of steps that should be performed manually.
Q8: What is RTM and it’s use?
RTM stands for Requirements Traceability Matrix.
RTM is used to create a link between a Requirement/Test Cases/Defects.
RTM is prepared once you are done developing Test Cases, to match the requirements to test cases etc. Quality Center provides good functionality to achieve Traceability.
RTM is a way to ensure that no requirement goes without coverage.
Q9: What are the basic elements of defect report format?
The basic elements of Defect Report Format are:
- Project name
- Module name
- Defect detected on
- Defect detected by
- Defect id
- Defect name
- Snapshot of the defect(if the defect is in the non reproducible environment)
- Priority, severity, status
- Defect resolved by
- Defect resolved on
Q10: What is ECP and BVA?
ECP stands for EQUIVALENCE CLASS PARTITIONING and BVA stands for BOUNDARY VALUE ANALYSIS
ECP:- In it we divide the whole class into different modules we can say makes small parts of that to make testing convenient. Let’s assume the class can take values from 1-100 then we can divide it in 10 sub modules 1-10,10-20 etc. All these are equal parts of the same module to make testing easy.
BVA- its done after ECP. In it we check boundary values of ECP i.e.in 1-10 we check minimum value by taking 0,1,2 & for maximum values we’ll take 9,10,11.