Software testing interview Q&A – Part 2

15
www.testing.com.vn Author: Khoa Bui SOFTWARE TESTING INTERVIEW Q&A – PART 2

Transcript of Software testing interview Q&A – Part 2

Page 1: Software testing interview Q&A – Part 2

www.testing.com.vnAuthor: Khoa Bui

SOFTWARE TESTING INTERVIEW Q&A – PART 2

Page 2: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

1. What is test plan? We should give definition of test plan and sample structure of one test plan

‣Test plan is document to describe the scope, approach, resources, schedule of intended test activities. It identifies others test items, the feature to be tested, testing tasks, who will do each tasks, test environment, test design technique, risk, estimation and exit criteria. It’s a record of test planning process

‣ Sample test plan: We don’t answer all things above. Just answer the bold. If Interviewer asking, we will explain based on their answer‣ Test plan identifier: Provide the unique identifier for test plan document‣ Introduction:‣ Overview of test plan‣ Purpose of test plan‣ Any constrains of test plan‣ Document Scope:‣ In scope:

Test Items: which software / product to be testedFeatures to be tested: which features/function of software/application to be testedTesting Types: e.g. Smoke Test, Functional Test, UI Test, Cross Browser Test, Usability Test, Regression Test,

End2End TestTesting Environment: e.g. Windows 7, 10, Mac OSX, LinuxNo requirement test: List anything which we test without requirement (e.g. test performance of software)

‣ Out of scope: Security Testing…

Page 3: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

1. What is test plan? We should give definition of test plan and sample structure of one test plan

‣ Constrains: List out some constrains for testing process. ‣ Risk List:

Risk: List out risk of projectMitigation Strategy: List the way to make risk is not happenedContingency (if risk is happened): If risk is happened, we will have back-up plan for risk.

‣ Test Approach‣ Test Schedule‣ Testing Types: In this section we will list out testing types details including Test Objective,

Technique, Acceptance Criteria‣ Resources

Human Resources: Manager, Leader, Tester, DeveloperRoles of human resources and responsibilitiesTesting devices: PC Windows 7, Core i7 8GB RAM, Macbook Pro…Software: Ranorex with license for 5 users (using for Automation Testing)

Page 4: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

1. What is test plan? We should give definition of test plan and sample structure of one test plan

‣ Staffing training if necessary‣ Deliverable: List out document, report, scripts which team will delivers as Test Plan document, Test Case,

Test Case result, Test Summary Report, Bug Report‣ Measurement: Defect Density, Defect leakage, Defect Removal Efficiency, Invalid bugs rate‣ Suspension Criteria: When there’s any problem, impediments, critical issues which blocking testing

progress. QC team will choose suspend testing‣ Resumption Criteria: When issues is fixed (due to Suspension Criteria), testing team verify and fix. Testing

team can resume‣ Exit Criteria: Every corporation will define exit criteria based on knowledge and size of project. However, we

can see below as sample:All test cases are executedThere’s no bug P1, P2, P3 on UAT testingThere’s two minor bugs (P4) on UAT testingAll bugs P1, P2, P3 bugs are fixed and verified by testing team

// We should set document to explain how to the P1, P2, p3, P4 bugs. and list in test plan

Page 5: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

1. What is test plan? We should give definition of test plan and sample structure of one test plan

‣ Appendix: This is not required but we should put in test plan, it will help test plan more valuable

‣ Database: DBA will insert manual 8000 records for testing team to test‣ Functional test: Testing team will use random data in functional testing‣ References: We list out all documents which used to define test plan as Specification

Requirement, Non-functional Requirement, Product Design document…‣ Approvals: Must have a area at the end of test plan, where higher level manager will

approve and sign it

Page 6: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

2. What is different between SDLC and STLC? Interviewer would like to know you’re understand the general of SDLC and STLC. Below is sample:

Software Development Life Cycle Software Test Life Cycle

Requirement Analysis

Application requirement is gathering by Business Analyst. Development team will analyze requirement 

Testing team analyze requirement in this phase to identify which testing types will be applied

Design

Technical Architecture, senior developer will work to design high level / low level structure, solution of systemBusiness Analyst / Product Owner create UI mock up for application

Testing team (leader, manager) create test plan, test approach. Testing team also estimate the high level point for each feature

Code and Development Development team write code based on

architecture designed from previous phaseTesting team create test cases details, automation test scripts, prepare test data before actual testing

Page 7: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

2. What is different between SDLC and STLC? Cont… Software Development Life Cycle Software Test Life Cycle

Testing Development team do unit test before giving to testing team

After development completed unit testing. Testing team do functional testing, integration test on this phase. 

Testing team also do activities related testing as review test cases, test scripts, execute test cases / automation test scripts, report found bugs …

In case of working with UAT external team, we must deploy this application on UAT env and allow UAT team do test application on UAT environment

DeploymentWhen completing testing phase (Unit Testing, System Testing, Integration, UAT Testing), application is deployed on Production site by using real data

Testing team complete testing. Leader/Manager prepare test report In some organization, testing team will support external customer after application is deployed at the first day

Maintenance Development team to support and maintenance the existing application

Testing team can support team to verify production issue, review and update test cases, maintenance automation test scripts…

Page 8: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

3. How to measure the quality of product? 

‣ We can measure the quality of product based on test metrics:How many test scenarios are created based on requirement?How many negative test scenarios are created?How many test cases executed?How many test cases passed/failed/not yet executed/blocked?How many automation test cases?How many bugs found in testing before Stage/Production and which severity of bugs?How many bugs are fixed and verified by testers?

‣ Based on above test metrics, we can calculate as below:Percentage of work is completedPercentage of work is not yet completedRemain working time and still able to complete meet deadline

After we calculated all necessary of work and know the current state of testing progress. Team has necessary action to make sure product is released on time. ◦ e.g. QC need to complete testing in 3 days, but QC has just completed 10% in the first day. QC Leader may

request some available testers (from another team) to support testing or running automation testing scripts overnight or spend some extra time to test.

Page 9: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

4. What should we do when start one project? This is question for manager or leader, we may not enough experience to do this task. Simple question is:

‣ Get requirement from customer / product owner / BA ‣ Analyze requirement to check which testing types will be applied (automation testing is necessary or not) ‣ Create test plan based on requirement and get approved by higher level manager ‣ Create high level estimate based on requirement or user story (maybe need re-estimate after having the details of each function) ‣ Prepare test environment, resources, training staffs (if necessary) ‣ Design test cases, test data based on acceptance criteria of each function ‣ Review test cases ‣ Execute test cases to verify the function of application. We may do system testing, integration system testing ‣ After system testing is done and reviewed by stakeholders or product owner, deploy on UAT environment ‣ External team will do UAT testing on UAT environment. QC team's able to support test UAT if having avaialble time ‣ If there's any issues on UAT, assign back to Dev to fix ‣ If there's no issues on UAT or no critical issues. UAT team demoed successful to customers. We're able to Sign Off and prepare

related data to deploy on Production with real data ‣ Support customer on production site (analyze issues, verify that is new bug or existing bugs, check that's production problem or

not…) ‣ We will have one or two weeks after deployed on production for checking if having any issues. And plan to fix if that's

happened.  ‣ If there's no any news or issues, we're complete one release and prepare to next release

Page 10: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

5. What is Agile and Scrum? ‣ What is Agile? 

Agile is software development methodology Development team deliver new build incrementally to customer in time-boxed (2 weeks or 4 weeks) Each features are broken down to small features is called user stories and prioritizing them. Then development team

continuous to deliver them in short time is called Iteration  All team members are worked as cross functional features and self-organization 

‣ What is Scrum? Scrum is a framework which using to apply Agile methodology. It's sub-section of Agile.  In Scrum also deliver build incrementally in short cycle is called Iteration There's 3 roles in Scrum: Product Owner, Scrum Master, and Scrum Team There's activities of Scrum as: Scrum Planning, Daily Scrum, Scrum Retrospective Product Owner create a wish list is called product backlog.  Team will join Scrum Planning, and pick items in product backlog and estimate it. Those items are called User Stories Development team will pick each User Story from top priority to implement it.  Everyday, team has Daily Stand-up meeting to update status and progress of implementation User storied is closed when it's reviewed and demoed by customer or product owner The short cycle of each cycle is 2 weeks or 4 weeks. That's called a Sprint End of Sprint, we have Sprint Retrospective to review the good working, not good working, and any actions to

improve next sprints Team complete one sprint and prepare next User Story from Product Backlog for next sprint

Page 11: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

6. What is a good test case? 

‣ A good test case is have enough required information: ID, Summary, Pre-condition, Steps to execute, Expected Result, Priority

‣ Summary should be short and clearly ‣ Steps to execute should be provided steps by steps correctly ‣ Pre-condition: should provide some special information if it's necessary for test

case ‣ Expected Result: it's based on requirement of application ‣ Test cases must cover all features of application ‣ Test cases must include negative test case ‣ Should be grouped by function or feature. It will help to do regression test or

implement automation test script ‣ Test case should be written simple, easy to understand, ensure other member (not

test case writer) is also able to execute test case 

Page 12: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

7. How to do you make sure team member is able to real perform to test? 

‣ Test leader must make sure test cases are written which covered acceptance criteria and include regression testing if there's impact area

‣ We cannot make sure other testers performa test 100%. But we can verify by cross review 

‣ As test leader, I'm taking role as QC, so that I also perform testing. When completing testing, each tester will cross review testing result of other testers.  e.g I will review result of Tester A. Then Tester A review test result of Tester B…

‣ Test leader test main business workflow of new feature (not run all test scenarios), just make sure main feature is working fine 

‣ In some case, test leader can request other testers demo some special of difficult test cases

Page 13: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

8. How many software testing levels?

‣ There's four levels: 1. Unit Test 2. Integration Test 3. System Test 4. Acceptance Test

‣ Explain 4 levels: Unit Test: is test class and unit in coding. Just check the logic of code is worked fine. Des will perform it Integration Test: When completing unit testing, each unit module is tested, we will combined unit module together

and test interface between unit tested, to make sure all unit module are integrated and worked fine.  Who will perform: It depends on Integration Testing of project. Developer will perform Integration Testing. Developer write new code and group new code into existing code of

system. They will test coding is integrated with existing code fine without big issues. Tester also can perform Integration Testing. When we implement new external feature on one existing application.

External feature need to call one service from Middleware server. Then we do integration testing to make sure the external feature is able to call service from Middleware server and update the correct new data to Website. Some organization call ed that is Integration System Testing

System Testing: We verify the full application system, make sure function of application is worked fine. In ISTQB doc, Tester only perform in System Testing

Acceptance Testing: When completed system testing, build is deployed on UAT env. Customer or external team will perform UAT testing. In some organisation, tester role also perform in Acceptance Testing in UAT environment. 

Page 14: Software testing interview Q&A – Part 2

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)

9. What is black box and white box testing? 

‣ Interviewer often ask this question, and interviewee also should give definition of this. Black box testing: is software testing technique which tester will perform to test application based on requirement, design, business flow of application without coding knowledge. They will verify the function of application on GUI. The tester input valid data, then verify the output date is corrected as expected.  White box testing: is software testing technique which performed by one person which understand knowledge and structure coding of application. Developers of Whitebox tester will perform it. Developer will input the one value through coding and determine valid value. 

10.Which levels should be apply to black box and white box testing?

‣ White box testing: Unit Testing, Integration Testing * ‣ Black box testing: System Testing, Acceptance Testing 

(*)Someone confuse if we test new feature is integrated with another new feature, is that Integration Testing in Blackbox Testing? Two features are also integrated together but they are integrated into the application system, so that it belongs to System Testing (Blackbox Testing)

Page 15: Software testing interview Q&A – Part 2

THIS IS JUST SHARING KNOWLEDGE. KNOWLEDGE IS UNLIMITED

Khoa Bui https://about.me/khoabui1912

SOFTWARE TESTING INTERVIEW Q&A – PART 2 (WWW.TESTING.COM.VN)