Software Testing interview - Q&A and tips

Post on 24-Jan-2018

46 views 3 download

Transcript of Software Testing interview - Q&A and tips

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