software testing interview - q&a and tips
TRANSCRIPT
MANUAL SOFTWARE TESTING
TOP INTERVIEW QUESTIONS
1: Communications2: Basic analytical and Logical skills
3: Explain how the requirement is generated and how it reaches you?requirement lifecycle.4: Explain your role in your current project?
5: Justify your experience by answering some experienced based questions,It could be any real time scenario.Like : an average how many test cases you execute in a day? or how youescalate the issues?
6: Write some some sample test cases for any object?
An Interviewer's Expectation
Software testing is a practice of executing anapplication under test (AUT) with an intention offinding bugs and errors before application is deployedin production environment.
1: what is Software Testing?
Testing is important, to make sure that:
• All business requirements are implemented• Functionalities are behaving as it is expected• Application is secure enough against security threats
• Does not break under working circumstances• Does not harm the business reputation
• Performs its functions within an acceptable time• Works well on all supported OS, devices and screens• To make sure that customer can trust and rely on your product
2: why Testing is important?
“QA is a systematic and scientific approach of monitoring andimproving the software development process.”
3: What is QA & QC?
“QC is a validation activity where the quality of the developedproduct is evaluated with a benchmark or any competitiveprogram’s set standard to make sure that the software qualityis adhering the defined or expected quality.”
QUALITY ASSURANCE QUALITY CONTROL
QA is a verification process QC is a validation activity
QA is process oriented QC is product oriented
QA prevents the defect QC finds the defect
It improves the development process It improves the developed product quality
Requirement document, design review and code reviews are done as part of this
Product testing is done as part of this activity
Performed without the program execution Performed by executing the program
4: what is difference between QA & QC?
“STLC stand for Software Testing Lifecycle. STLC is a set ofprocess which is executed in a systematic manner to achieve thetesting goal”
TEST PLANNING
TEST DESIGNING
TEST ENVIRONMENT
TEST EXECUTION
BUG REPORTING & MANAGEMENT
RTM (REQUIREMENT TRACEABILITY MATRIX)
TEST REPORTING
5: what is STLC?
A test plan is the first phase of STLC where Test Planning documentis created, it describes that what and how to achieve quality in AUT.
● Analyze the business requirement● Find the test objective● Define a Test Strategy● Analyze the risks (Tools, Resources and Time)● Test Environment and Test Data preparation● Define Entry & Exit Criteria● Define a Traceability Matrix● Schedule and Timeline● Deliverable
6: What is Test Planning?
As part of test designing a test lead or senior tester writes the testscenarios, Test Case and test procedures or test scripts areprepared.● Test Scenarios:
Test scenario meaning finding out that ‘what to be tested’ in any givenrequirement. This is to make sure that end 2 end functionality is covered.
● Test Cases:
To test the Test scenarios, test cases are written which contains the eachpossible function related to that requirement.
● Test scripts:
Are the phase where each it is written that how a test case will be executed. Soas part of this a tester writes the steps, activity and expected result for thatstep will be written.
7: What is Test Designing?
“In order to execute test cases a detailed procedure
needs to be written where the writer will mention all
the steps to be performed and what should be the
expected result for each activity”
8: how you write Test scripts?
“Entry criteria is the prerequisites that must needs to befulfilled before test team can begin the testing.”● A tester check for the critical functions before starting the full
testing process. It is known as performing Smoke / sanitytesting.
9: What is Test Entry & Exit Criteria?
“Exit criteria are a condition that must be fulfilled by testteam before they can conclude their testing activities.”● The test coverage should reach 100% of traceability matrix● All the test deliverable are shared and many other things.
Test Environment is the dummy configuration of software / hardware where a tester executes their test cases.
Environments:
1: Development
2: QA
3: Staging
4: Product / Live
10: What is Test Environment?
The Requirement Traceability Matrix or RTM is a document thatmaps the business requirement and test cases to trace thecoverage of testing at any given point of time and to ensure that norequirement is missed as part of the testing.
11: What is RTM (Requirement Traceability Matrix)?
1: Make SOPs :
SOP stands for ‘Standard Operating Procedure’ which is document created to trainnew people that how to perform a task.
2: Upgrade Lesson Learnt Document:
Lesson learnt document is a document that is created and maintained todocument that what mistakes the team has done, or what gap the team had thatcaused any problem. Every team member must go through the document so thatthey are updated and they will not commit the same mistake again.
3: Skill enhancement:
Skill enhancement by self learning or participating in the corporate trainingsorganized by the company.
12: what do you do when you are done with testing and left with nothing to do?
“SDLC stands for Software Development Life Cycle. SDLCdefines the standard phases involved throughout the softwaredevelopment.”
13: what is SDLC?
Deployment
Requirement Analysis
Project planning
Maintenance
Project Designing
Testing
Development
● Waterfall Model● Spiral model● Prototype Model● Iterative and Incremental Model● V -Model● W-Model● Agile Mode
14: Can you name some SDLC models?
“Waterfall model is a sequential development model where each phase ofSDLC is executed one after another in a linear way so it’s also called linearsequential model”
REQUIREMENT
DESIGN
DEVELOPMENT
TESTING
DEPLOYMENT
MAINTENANCE
15: what is waterfall model?
“In V model of SDLC the real development phases and testingplans goes side by side as It can be interpreted as in a 'V’shape”
REQUIREMENT ANALYSIS
UAT (USER ACCEPTANCE TESTING)
HIGH LEVEL DESIGN SYSTEM TESTING
LOW LEVEL DESIGN or SPECIFICATION
INTEGRATION TESTING
CODING UNIT TESTING
16: Tell me something about V model?
“Test Case designing technique is needed to get the maximumcoverage by using an optimal number of test cases.”
● Equivalence Class Partitioning● Boundary Value Analysis● Decision Table● Use Case Testing
17: Do you know what is Black Box Test Case Designing Techniques
Scenario: Assume that there is an input field for age and it accepts the values from1-100. So, if we follow the ECP concept then:
Valid Class values from 1 -100
Invalid Class values below 1 (0- anything)
Invalid Class values above 100 (101- anything)
Class A : Any value from valid input data domain : 1-100Class B : Any value which is lower than lowest : 0,-1,-2..Class C : Any value which is higher than Highest : 0,-1,-2..Class D: Any alphanumeric : A1, B1, C1Class E: Any decimal values: 1.1,1.2,1.3
18: Do you know what is ECP (Equivalence Class Partitioning)
“ECP is a testing technique that divides the input test data into partitionsof equivalent classes and from each class minimum one data must be testedat least once.”
“More application errors occur at the boundaries of input domain.‘Boundary value analysis’ testing technique is used to identify errorsat boundaries instead of finding errors in center of input domain.”
19: Do you know what is BVA (Boundary Value Analysis)
Scenario: Assume that there is an input field for age and it accepts the values from1-100. So, if we follow the ECP concept then:
Boundary Value: 1 & 100Invalid values for negative test cases: 0 & 101
Valid Boundary values 1 & 100
one lower than lowest = 0
one higher than highest = 101
“Decision table technique is used in complex business scenarioswhere the input data will be determined based on some conditions.”
Example:
Conditions 1 2 3
Cash Yes No No
Coupon N/A Yes No
Actions
Order Placed Yes Yes No
20: Do you know what is Decision Table?
● Use Cases capture the interactions between 'actors' and the'system'.
● A use case is a description of a particular use of the system byan actor. Each use case describes the interactions the actorhas with the system in order to achieve a specific task.
21: Do you know what is Use Case Testing
22: Explain Testing Types?
● Testing the code and internal structure comes under white boxtesting.
● Code’s internal structure, design and implementation is tested aspart of white box testing.
● It is also known as ‘glass box testing’ or ‘Open box testing’ or‘Structural Testing’.
23: Explain White Box Testing?
UNIT TESTING:
Once the developer develops their piece of segment, each individual component is
tested independently in this testing for their expected outcomes.
INTEGRATION TESTING:
When two independent units of codes merged then checking that whether they
functioning together is called integration testing.
Black box testing is a testing type and as part of black boxtesting the functional behaviour of requirement is tested.
Also known as Behavioural Testing or close box testing.
24: Explain Black Box Testing?
▶ FUNCTIONAL TEST
◦ Smoke/Sanity
◦ Feature testing
◦ Regression testing
◦ System Testing
◦ UAT
▶ NONFUNCTIONAL TEST
◦ Performance (Load/stress/soak)
◦ Compatibility testing
◦ Usability testing
◦ GUI testing
25: Explain Black Box Testing types?
“Gray Box Testing is a combination of White box testing and blackbox testing. The idea is to find the :Improper structure and/or Improper usage of application”
● It is based on functional specification, UML Diagrams, DatabaseDiagrams or architectural view
● Grey-box tester handles can design complex test scenario moreintelligently
26: Explain Gray Box Testing?
When two independent units of codes merged then checkingthat whether they functioning together is called integrationtesting.
27: what is Integration Testing?
Stubs and drivers are the dummy piece of code called in to
create an integrated environment where some work is not
completed yet or not available for testing.
▶ Stubs are used during top down integration approach
▶ Drivers are used In bottom up integration approach
28: what is Stub and Drivers?
29: what is the difference between Smoke and Sanity Testing?
29: what is Functional and Regression Testing?
Once a bug is fixed then checking the same functionality againto ensure that the bug fix is ok is called retesting. This testingis done to ensure that bug fix is working ok and based on thatthe bug status will be updated as fixed or reopened.
30: what is Retesting?
When there is a requirement or an application to test but withno relevant document or details provided to tester the testerexplores the application and keep checking the features tofigure out the issues is known as Exploratory Testing.
31: what is Exploratory Testing?
● System testing is testing the whole system in integratedenvironment with all necessary software and hardwares.
● Usually performed in E2E (End 2 End) environment
In complex business scenarios one system work withcollaboration of so many other systems, so testing yourapplication when it is integrated with all other applications iscalled system testing.
32: what is System Testing?
● UAT stands for User Acceptance Testing● Where the product is evaluated as per the end user’s
requirement● Performed by the end users or stakeholders● Product is evaluated that whether it matches with business
requirement or not and whether to accept or reject theproduct
● Usually the last type of testing● UAT has 2 types Alpha testing and Beta Testing
33: what is User Acceptance Testing (UAT)?
Alpha Testing Beta Testing
Performed by testers in testing environment Performed by real end users in live environment
Alpha Testing performed at developer's site Beta testing is performed at client location or end user of the product
Alpha testing comes before beta testing Beta testing is performed after alpha testing
Alpha testing involves both the white box and black box techniques
Beta Testing typically uses black box testing
Alpha testing is conducted within the organization and tested by representative group of end users
Beta testing is conducted by the end users
34: what is the difference between Alpha & Beta Testing?
Performance testing is a test done to determine how a systemperforms in terms of speed, load and stability under a particularworkload.
Performance testing types are:▶ Load Testing▶ Stress Testing▶ Soak Testing
35: what is Performance Testing?
A snippet of Browserstack.com responsive test page
36: what is Compatibility Testing?
In general software testing language “During an application testing anydeviation in actual result and expected result is called a bug.”whereas Bug and Defects has slightly difference:
BUG:Bug is the general term used for all issues caught in testing environment.
DEFECT:A defect is a deviation from the requirements. Defect word is used by the businesspersons or stakeholder.
FAILURE:Any issue which is passed to live users and impacting the applications motive is
called a product failure.
37: what is Software Bug?Tell me the difference between Bug, Defect and a failure?
Consider the below mentioned 10 point as a must to raise an effectivebug
1) Summary2) Description3) Component or Assigned to4) Steps to reproduce with Test Data and URLs5) Logs & screenshot6) Requirement reference7) Release Name /Build Number / Sprint name8) Environment9) Priority10)Severity
38: How to raise a Software Bug?Tell me the steps to raise a bug?
● BugZilla● Mantis● Hp-QC or HP-ALM● Jira● Zoho
39: Name some of the main Bug Management Tools?
PriorityThe impact of the bug or function on business level is called priority.Priorities are defined as : P1, P2 & P3
SeverityThe impact of the bug or function on Application level is called priority.Severities are defined as : Major, minor, critical, blocker
40: What is the difference between Priority & severity?Tell me the steps to raise a bug?
41: What is the Bug Life Cycle?
When a tester reports a valid bug but the same bug can not be reproducedby others due to any reason is called a non-reproducible bug.The reason could be :1) Test Environment2) Test locations3) Test Data4) System configuration5) System of server cache memory
42: What is a Non Reproducible bug?
● Provide proper story and not just steps● Record a video or capture a screenshot for proof● Provide the system log, application log and server logs● Provide the time of execution● Provide the location of test execution
Try to reproduce the bug by clearing the system cache memoryTry to clear the server side cache (to clear the server side cache put?nocache=1 at the end of the URL and hit enter)
43: How to deal with a Non Reproducible bug?
“Test Management tools are the tools required to manage whole testingactivity and reporting in an organized manner.”
1: Manage the build and versioning for test2: To manage the Test scenarios, Test Case and Test scripts3: To map the requirements and test scenarios, test cases4: To update the test case status while executing
5: To update the test cases with a defect6: To track the test progress7: To generate the test report8: To maintain the test history
44: What is a Test Management Tool?
● HP ALM (Application lifecycle management) or HP-QC (Qualitycentre, is the older version of ALM)
● JIRA● q-Test● Testlink● Zephyr
45: Name some of the Test Management Tools?
● A SDLC model to build an application fast in very short span of time
● Delivers workable modules after each release
● Development and Testing goes side by side
● A combination of iterative and incremental approach
46: Do you know what is Agile Model?
1. Product
Backlog2. Sprint
Meeting
Sprint
1-4
weeks
4. Daily Scrum meets or
stand-ups
6. Sprint
Retrospective
5. Sprint Review (Demo
product)
3. Task
Burndown
Shippable
product
Agile – scrum lifecycle
(Source: wiki)
47: Explain the Agile Model lifecycle?
● Automating the manual testing process by using any tool isautomation testing.
● Using a tool to execute the test cases is automation testing.● Test automation requires the significant amount of Money and
skills.● Significant amount of time can be saved by automation● Not everything can be automated
48: what is Automation Testing?
Continuous Integration (CI) is a development practice that requiresdevelopers to integrate code into a shared repository several times aday. Each check-in is then verified by an automated test build,allowing teams to detect problems early.
By integrating regularly, you can detect errors quickly, and locatethem more easily.
49: Do you know what is Continuous Integration Testing?
50: Continuous integration Testing (CIT)
Architecture - in Agile model