Thursday, 6 March 2014

Manual Testing Interview Q & A - Part 8

71. How does perform regression testing, means what test cases you select for regression?

Regression testing will be conducted after any bug fixed or any functionality changed. During defect fixing procedure some part of coding may be changed or functionality may be manipulated. In this case the old test cases will be updated or completely re written according to new features of the application where bug fixed area. Here possible areas are old test cases will be executed as usual or some new test cases will be added to existing test cases or some test cases may be deleted.

72. What are the client side scripting languages and server side scripting languages?

Client side scripting languages are useful to validate the inputs or user actions from user side or client side. Client side scripting languages are: Javascript, VbScript, PHP…etc.

Client side scripting is good because it won’t send the unwanted input’s to server for validation. From front-end it self it validated the user inputs and restricts the user activities and guides him.

Server side Scripting languages are to validate the inputs at server side. Server side Scripting languages are: Perl, JSP, ASP, and PHP etc…These scripting languages provide security for the application and also provides dynamic nature to web or client server application.

73. If a very low defect (user interface) is detected by you and the developer not compromising with that defect, what will you do?
User interface defect is a high visibility defect and easy to reproduce. Follow the below procedure:

1. Reproduce the defect

2. Capture the defect screen shots

3. Document the proper inputs that you are used to get the defect in the defect report

4. Send the defect report with screen shots, i/ps and procedure for defect reproduction.

Before going to this you must check your computer hard ware configuration that is same as developer system configuration. And also check the system graphic drivers are properly Installed or not. If the problem in graphic drivers the User interfaces error will come. So first check your side if it is correct from your side then reports the defect by following the above method.

74. If you are only person in the office and client asked you for some changes and you didn’t get what the client asked for what will you do?

One thing here is very important. Nobody will ask test engineer to change software that is not your duty, even if it is related to testing and anybody is not there try to listen care fully if you are not understand ask him again and inform to the corresponding people immediately. Here the client need speedy service, we (our company) should not get any blame from customer side.

75. How to get top two salaries from employee tables?

Select * from EMP e where 2>= (select count (*) from EMP e where sal>e.sal) order by desc sal.

76. How many Test-Cases can be written for the calculator having 0-9 buttons, Add, Equal to buttons? The test cases should be focused only on add-functionality but mot GUI. What are those test-cases?

Test-Cases for the calculator: So here we have 12 buttons totalize 0,1,2,3,4,5,6,7,8,9,ADD,Equalto -12 buttons here you can press at least 4 buttons at a time minimum for example 0+1= for zero you should press ‘zero’ labeled button for plus you should press ‘+’ labeled button for one you should press ‘one’ labeled button for equal to you should press ‘equal to’ labeled button 0+1=here + and = positions will not vary so first number position can be varied from 0 to 9 i.e. from permutation and combinations you can fill that space in 10 ways in the same way second number position can be varied from 0 to 9 i.e. from permutation and combinations you can fill that space in 10 ways. Total number of possibilities are =10×10=100. This is exhaustive testing methodology and this is not possible in all cases. In mathematics we have one policy that the function satisfies the starting and ending values of a range then it can satisfy for entire range of values from starting to ending. then we check the starting conditions i.e. one test case for ‘0+0=’ (expected values you know that’s ‘0′) then another test case for ‘9+9=’(expected values you know that’s ‘18′) only two test cases are enough to test the calculator functionality.

77. What is positive and negative testing? Explain with example?

Positive Testing: - testing the system by giving the valid data.

Negative Testing: - testing the system by giving the Invalid data.

Example: Application contains a textbox and as per the user’s Requirements the textbox should accept only Strings. By providing only String as input data to the textbox & to check whether its working properly or not means it is Positive Testing. If giving the input other than String means it is negative Testing.

78. How will you prepare Test plan. What are the techniques involved in preparing the Test plan?

Test plan means planning for the release. This includes Project background:

1. Test Objectives: Brief overview and description of the document

2. Test Scope: Setting the boundaries, Features being tested (Functionalities), Hardware requirements and Software requirements

3. Entrance Criteria (When to start testing): Test environment established, Builder received from developer, Test case prepared and reviewed.

4. Exit criteria (when to stop testing): All bug status cycle are closed, all functionalities are tested, and all high and medium bugs are resolved.

5. Project milestones: dead lines

79. What is the Defect Life Cycle?

Defect life cycle is also called as bug life cycle. It has 6 stages namely:

1. New: found new bug

2. Assigned: bud assigned to developer

3. Open: developer is fixing the bug

4. Fixed: developer has fixed the bug

5. Retest: tester retests the application

6. Closed/reopened: if it is ok tester gives closed status else he reopens and sends back to developer.

80. Explain about metrics Management?

Metrics: is nothing but a measurement analysis. Measurement analysis and Improvement is one of the process area in CMM I L2.

81. What is performance Testing and Regression Testing?

Performance Testing: - Testing the present working condition of the product

Regression Testing: - Regression Testing is checking for the newly added functionality causing any errors interims of functionality and the common functionality should be stable in the latest and the previous versions

82. What is meant by Priority and severity?

Severity:

· This is assigned by the Test Engineer

· This is to say how badly the deviation that is occurring is affecting the other modules of the build or release.

Priority:

· This is assigned by the Developer.

· This is to say how soon the bug as to be fixed in the main code, so that it pass the basic requirement.

Example: The code is to generate some values with some valid input conditions. The priority will be assigned so based on the following conditions:

· It is not accepting any value

· It is accepting value but output is in non-defined format (say Unicode Characters).

A good example I used some Unicode characters to generate a left defined arrow, it displayed correctly but after saving changes it gave some address value from the Stack of this server. For more information mail me I will let you know.

83. Give me some example for high severity and low priority defect?

If the title of the particular concern is not spelled correctly, it would give a negative impact. Example: ICICC is spelled as a title for the project of the concern ICICI. Then it is a high severity, low priority defect.

84. What is basis for test case review?

The main basis for the test case review is:

1. Testing techniques oriented review

2. Requirements oriented review

3. Defects oriented review.

85. What are the contents of SRS documents?

Software requirements specifications and Functional requirements specifications.

86. What is difference between the Web application testing and Client Server testing?

Testing the application in intranet (without browser) is an example for client -server. (The company firewalls for the server are not open to outside world. Outside people cannot access the application.) So there will be limited number of people using that application.
Testing an application in internet (using browser) is called web testing. The application which is accessible by numerous numbers around the world (World Wide Web.). So testing web application, apart from the above said two testing there are many other testing to be done depending on the type of web application. We are testing:

· If it is a secured application (like banking site- we go for security testing etc.)

· If it is an e-commerce testing application we go for Usability etc… Testing.

87. Explain your web application architecture?

Web application is tested in 3 phases:

1. Web tier testing –> browser compatibility

2. Middle tier testing –> functionality, security

3. Data base tier testing –> database integrity, contents

88. Suppose the product/application has to deliver to client at 5:00 PM, at that time you or your team member caught a high severity defect at 3:00 PM. (Remember defect is high severity) but the client is cannot wait for long time. You should deliver the product at 5:00 Pm exactly. Then what is the procedure you follow?

The bug is high severity only so we send the application to the client and find out the severity is priority or not. If its priority then we ask him to wait. Here we found defects/bugs in the last minute of the delivery or release date. Then we have two options:

1. Explain the situation to client and ask some more time to fix the bug.

2. If the client is not ready to give some time then analyze the impact of defect/bug and try to find workarounds for the defect and mention these issues in the release notes as known issues or known limitations or known bugs. Here the workaround means remedy process to be followed to overcome the defect effect.

3. Normally this known issues or known limitations (defects) will be fixed in next version or next release of the software

89. Give me examples for high priority and low severity defects?

Suppose in one banking application there is one module ATM Facility. In that ATM facility when ever we are depositing / withdrawing money it is not showing any conformation message but actually at the back end it is happening properly with out any mistake means only missing of message. In this case as it is happening properly so there is nothing wrong with the application but as end user is not getting any conformation message so he/she will be Confuse for this. So we can consider this issue as HIGH Priority but LOW Severity defects…

90. Explain about Bug life cycle?

1. Tester->

2. Open defect->

3. Send to developer

4. If accepted moves to step5 else sends the bug to tester gain

5. Fixed by developer ->

6. Regression testing->

No problem inbuilt and sign off Note: If problem in built reopen the issue sends to step3

91. How can you report the defect using excel sheet?

To report the defect using excel sheet:

· Mention: The Future that been effected.

· Mention : Test Case ID (Which fail you can even mention any other which are dependency on this bug)

· Mention : Actual Behavior

· Mention : Expected Behavior as mentioned in Test Case or EFS or EBS or SRS document with section

· Mention : Your Test Setup used during Testing

· Mention : Steps to Re-Produce the bug

· Mention : Additional Info

· Mention : Attach a Screen Shot if it is a GUI bug

· Mention: Which other features it is blocking because of this bug that you are unable to execute the test cases.

· Mention: How much time you took to execute that test case or follow that specific TC which leaded to bug?

92. If you have executed 100 test cases ,every test case passed but apart from these test case you found some defect for which test case is not prepared, them how you can report the bug?

While reporting this bug into bug tracking tool you will generate the test case mean put the steps to reproduce the bug.

93. What is the difference between web based application and client server application?

The basic difference between web based application & client server application is that the web application are 3 tiers & client based are 2 tiers. In web based changes are made at one place & it is reflected on other layers also whereas client based separate changes need be installed on client machine also.

94. What is test plan? And can you tell the test plan contents?

Test plan is a high level document which explains the test strategy, time lines and available resources in detail. Typically a test plan contains:

· Objective

· Test strategy

· Resources

· Entry criteria

· Exit criteria

· Use cases/Test cases

· Tasks

· Features to be tested and not tested

· Risks/Assumptions.

95. How many test cases can you write per a day, an average figure?

· Complex test cases 4-7 per day

· Medium test cases 10-15 per day

· Normal test cases 20-30 per day

96. Who will prepare FRS (functional requirement documents)? What is the important of FRS?

The Business Analyst will pre pare the FRS. Based on this we are going to prepare test cases. It contains:

1. Over view of the project

2. Page elements of the Application (Filed Names)

3. Prototype of the of the application

4. Business rules and Error States

5. Data Flow diagrams

6. Use cases contains Actor and Actions and System Responses

97. Differentiate between QA and QC?

· QA: It is process oriented. It evolves in entire process of software development. Preventing oriented.

· QC: It is product oriented. Work to examine the quality of product. Deduction oriented.

98. What is a bug?

A computer bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working correctly or produces an incorrect result.

99. What is a test case?

Test case is set of input values, execution preconditions, expected results and execution. Post conditions, developed for a particular objective or test conditions, such as to exercise a particular program path or to verify compliance with a specific requirement.

100. What is the purpose of test plan in your project?

Test plan document is prepared by the test lead, it contains the contents like introduction, objectives, test strategy, scope, test items, program modules user procedures, features to be tested features not to tested approach, pass or fail criteria, testing process, test deliverables, testing, tasks, responsibilities, resources, schedule, environmental requirements, risks & contingencies, change management procedures, plan approvals, etc all these things help a test manager understand the testing he should do & what he should follow for testing that particular project.

101. When the relationships occur between tester and developer?

Developer is the one who sends the application to the tester by doing all the necessary code in the application and sends the marshal id to the tester. The tester is the one who gives all the input/output and checks whether he is getting required output or not. A developer is the one who works on inside interfacing where as the tester is the one who works on outside interfacing

102. When testing will starts in a project?

The testing is not getting started after the coding. After release the build the testers perform the smoke test. Smoke test is the first test which is done by the testing team. This is according to the testing team. But, before the releasing of a build the developers will perform the unit testing.

103. If a bug has high severity then usually that is treated as high priority, then why do priority given by test engineers/project managers and severity given by testers?

High severity bugs affects the end users … testers tests an application with the users point of view, hence it is given as high severity. High priority is given to the bugs which affects the production. Project managers assign a high priority based on production point of view.

104. What is the difference between functional testing and regression testing?

Functional testing is a testing process where we test the functionality/behavior of each functional component of the application… i.e. minimize button, transfer button, links etc. i.e. we check what each component is doing in that application…

Regression testing is the testing the behavior of the application of the unchanged areas when there is a change in the build i.e. we check whether the changed requirement has altered the behavior of the unchanged areas. The impacted area may be the whole of the application or some part of the application…

105. Do you know about integration testing, how do you integrate different modules?

Integration testing means testing an application to verify the data flows between the modules. For example, when you are testing a bank application, in account balance it shows the 100$as the available balance but in database it shows the 120$. Main thing is “integration done by the developers and integration testing done by the testers”

106. Do you know about configuration management tool, what is the purpose of maintaining all the documents in configuration management tool?

It is focused primarily on maintaining the file changes in the history. Documents are subjected to change for example: consider the Test case document. Initially you draft the Test cases document and place it in Version control tool (Visual Source Safe for ex). Then you send it for Peer Review. They will provide some comments and that document will be saved in VSS again. Similarly the document undergoes changes and all the changes history will be maintained in Version control. It helps in referring to the previous version of a document. Also one person can work on a document (by checking out) at a time. Also it keeps track that has done the changes, time and date. Generally all the Test Plan, Test cases, Automation design docs are placed in VSS. Proper access rights needs to be given so that the documents don’t get deleted or modified.

107. How do you test database and explain the procedure?

Database Testing is purely done based on the requirements. You may generalize a few features but they won’t be complete. In general we look at:

1. Data Correctness (Defaults)

2. Data Storage/Retrieval

3. Database Connectivity (across multiple platforms)

4. Database Indexing

5. Data Integrity

6. Data Security

108. Suppose if you press a link in yahoo shopping site in leads to some other company website? How to test if any problem in linking from one site to another site?

1. First I will check whether the mouse cursor is turning into hand icon or not?

2. I will check the link is highlighting when I place the cursor on the link or not?

3. The site is opening or not?

4. If the site is opening then I will check is it opening in another window or the same window that the link itself exist (to check user-friendly nests of the link)

5. How fast that website is opening?

6. Is the correct site is opening according to the link?

7. All the items in the site are opening or not?

8. All other sub links are opening or not?

109. What are the contents of FRS?

F ? Function Behaviors

R ? Requirements (Outputs) of the System that is defined.

S ? Specification (How, What, When, Where, and Way) it behavior’s.

FRS ? Function Requirement Specification.

This is a Document which contains the Functional behavior of the system or a feature. This document is also known as EBS External Behavior Specification - Document. Or EFS External Function Specification.

110. What is meant by Priority and severity?

Priority means “Importance of the defect with respect to customer requirement”

Severity means “Seriousness of the defect with respect to functionality”

111. What is the difference between use case, test case, test plan?

Use Case: It is prepared by Business analyst in the Functional Requirement Specification (FRS), which is nothing but steps which are given by the customer.

Test cases: It is prepared by test engineer based on the use cases from FRS to check the functionality of an application thoroughly

Test Plan: Team lead prepares test plan, in it he represents the scope of the test, what to test and what not to test, scheduling, what to test using automation etc.

112. How can we design the test cases from requirements? Do the requirements, represent exact functionality of AUT?

Yes, requirements should represent exact functionality of AUT. First of all you have to analyze the requirements very thoroughly in terms of functionality. Then we have to thing about suitable test case design technique [Black Box design techniques like Equivalence Class Partitioning (ECP), Boundary Valve Analysis (BVA), Error guessing and Cause Effect Graphing] for writing the test cases. By these concepts you should design a test case, which should have the capability of finding the absence of defects.

113. How to launch the test cases in Test Director and where it is saved?

You create the test cases in the test plan tab and link them to the requirements in the requirement tab. Once the test cases are ready we change the status to ready and go to the “Test Lab” Tab and create a test set and add the test cases to the test set and you can run from there. For automation, in test plan, create a new automated test and launch the tool and create the script and save it and you can run from the test lab the same way as you did for the manual test cases. The test cases are sorted in test plan tab or more precisely in the test director; let’s say quality centers database test director is now referred to as quality center.

114. What is the deference between a bug and a defect?

When tester verifies the test cases, all failed test cases are recorded as bugs directed for necessary action and recorded in defected reports. As a testing point of view all fail test cases are defects as well as found bugs. While development point of view if product doesn’t meet the software requirement specifications or any other features that is to be required, it is defect in the system. Who found this feature is not meeting his requirements, he call it is bug in that product.

115. How can we explain a bug, which may arrive at the time of testing. Explain?

First check the status of the bug, then check whether the bug is valid or not then forward the same bug to the team leader and then after confirmation forward it to the concern developer.

116. What do you mean by reproducing the bug? If the bug was not reproducible, what is the next step?

Reproducing a bug is as simple as reproducing a defect. If you find a defect, Example: Click the button and the corresponding action didn’t happen, it is a bug. If the developer is unable to find this behavior he will ask us to reproduce the bug. In another scenario, if the client complaints a defect in the production we will have to reproduce it in test environment.

117. How can you know bug is reproducible or not?

A bug is reproducible if we can reproduce it, if we cannot reproduce it, it is not reproducible in which case we will do further testing around it and if we cannot see it we will close it, and just hope it would never come back ever again.

118. On which basis we give priority and severity for a bug and give one example for high priority and low severity and high severity and low priority?

Always the priority is given by our team leader. Tester will never give the priority. For example,

High severity: hardware bugs application crash

Low severity: User interface bugs.

High priority: Error message is not coming on time, calculation bugs etc.

Low priority: Wrong alignment, final output wrong.


119. How is traceability of bug follow?

The traceability of bug can be followed in so many ways.

1. Mapping the functional requirement scenarios(FS Doc) - test cases (ID) - Failed test cases(Bugs)

2. Mapping between requirements (RS Doc) - Test case (ID) - Failed test cases.

3. Mapping between test plans (TP Doc) - test case (ID) - failed test cases.

4. Mapping between business requirements (BR Doc) - test cases (ID) - Failed test cases.

5. Mapping between high level designs (Design Doc) - test cases (ID) - Failed test cases.

Usually the traceability matrix is mapping between the requirements, client requirements, function specification, test plan and test cases.

120. What will be the role of tester if bug is reproduced?

When ever the bug is reproduced, tester can send it back to the developer and ask him to fix it again. If the developer cannot fix the bug once again and if the tester sends the bug back to the developer, the third time the tester can make the bug as deferred i.e. he can reject the build (.exe)

121. Who will change the status of bug?

As soon as tester finds a bug he logs the bug as new status and assigns to developer. Developer working on that bug changes the status as open. When developers feels its not required fixing at that moment he changes the status as differed. If he completed working on that he changes the status as close and assigns the report to tester. Tester retests the bug and confirms the status as close. We come across many more statuses such as duplicate, not reproducible, to be fixed, critical, blocked, need clarification. We can use the status according to the bug.

122. Is it possible to have a defect with high severity and low priority or vice verse?

When the development team prepared the modules and they sent it for testing and after doing some part of testing then a bug raised in the first module its severity is minor and at the same time in the second module a bug raised and its severity is major. We come to know by the next day the client is coming for inspection and he wanted to get the first module prepared. So at this time less severity bug gets high priority and high severity bug gets low priority.

123. What is defect life cycle in manual testing?

Defect Life Cycle:

o Defect detection

o Reproduce the defects

o Assign the bug to the developer

o Bug fixing

o Bug resolution

o Regression

124. What is difference between bug resolution meeting and bug review committee? Who are the participants in bug resolution meeting and bug review committee?

Bug Resolution meeting: It is conducted in presence of test lead and developers where developer gives his comment whether to correct the bug at this time or later and test leader accepts or rejects developer comments and even they decide what methods should be chosen correct the error so that in regression test no bug should be reported and it should not effect other application.

Bug Review committee: It is often conducted by test lead, project managers in the presence of client, where they decide as to what errors should be considered as bugs and what severity level it should be treated as.

125. How to give bug title and bug description for ODD division?

1. Assumption: ODD number division fails

2. Bug Title: ODD number fails

3. Bug Description: Open calculated window

4. Enter an ODD number

5. Click divide by [/] button

6. Enter another Odd number

7. Enter or click equal button in calculated window

8. Observe the result

9. Expected results:

10. Quotient displayed is correct

11. Actual result

12. Quotient displayed is incorrect.


126. What is build interval period?

In some companies builds are delivered from development team to the testing team to starts the system testing. For example a new product ABC is being released to the testing team so the development team will deliver a build to the testing team. Now testing will do the testing and then will release the product to the client. now there is a new version of product coming up with the name ABC1 and is being released to the testing team so this will be the second build and time between these two builds will be called as build interval.

127. What is difference between End to end testing and system testing?

System Testing: System testing is performed on the entire system in the context of a Functional Requirement Specification(s) (FRS) and/or a System Requirement Specification (SRS). In the system testing we are taking sample test data.

Types of system testing: The following examples are different types of testing that should be considered during System testing:

    GUI software testing
    Usability testing
    Performance testing
    Compatibility testing
    Error handling testing
    Load testing
    Volume testing
    Stress testing
    User help testing
    Security testing
    Scalability testing
    Capacity testing
    Sanity testing
    Smoke testing
    Exploratory testing
    Ad hoc testing
    Regression testing
    Reliability testing
    Recovery testing
    Installation testing
    Idempotency testing
    Maintenance testing
    Recovery testing and failover testing.
    Accessibility testing,

End-to-end Testing: End-To-End Testing refers to User Level testing of Component based systems. It verifies that the integrated component functions correctly as part of the overall system and the existing Components of the System work as before. End-To-End Testing approaches the system from a Functional Side and the Architecture side thus combining Black-Box and White-Box Techniques. The Steps required to perform End-To-End testing include Test Design Test Execution and Test Results Analysis. End to end testing we are taking real time data (for a sample) and interacting with network and hardware.

128. How would you say that a bug is 100% fixed?

In quality world we cannot say bug is 100% fixed or 50% fixed. If the bug is fixed then in new version we do regression testing to make sure that bug fix doesn’t have any impact on old functionality.

129. How to post a bug?

Bugs are posted with the tools these tools are known as bug tracking tools. Custom designed tools, build specific for companies bug format, accept the details of the issue from the testers as follows:

1. Bug Id(tool generates the ID)

2. Bug description

3. Steps to reproduce the bug

4. Software and hardware environment

5. Status (New, reopen ….)

6. Version Id of the build

7. Assign to

8. Severity

9. Priority

10. Tester name and data execution

Test engineers fill the above fields in the tools and the tool acts as a central repository and tracks the entire bug life cycles.

130. What are the different types of bugs we normally see in any of the project?

1. User interface defects

2. Boundary related defects

3. Error handling defects

4. Calculation defects

5. Improper service levels

6. Interpreting data defects

7. Race condition (comparability and inter system defects)

8. Load conditions (Memory leakages under load)

9. Hardware failures

10. Source bugs

131. What is a difference between a Defect and an enhancement?

Defect: Defect is the problem or error found in the application while testing which is unnecessary or which my hindrant to the other functions of the application.

Enhancement: It’s the additional feature or functionality found and added to the application as desired by the end user/real word customer or tester during the testing process. Enhancement can be applied when the application's basic functionality is proper. Where as when the defect is found the program can not be considered as proper and up to the mark until its fixed.

Enhancement is done to improve the quality of the software where as Defect is removed or repair to maintain the quality of the software.

132. What is the ONE key element of ‘test case’?

A test case is unique and it is individual.

133. What is the ONE key element of ‘test plan’?

The key element of Test Plan is Entry & exit criteria

134. What is Red Box testing? What is Yellow Box testing? What is Grey Box testing?

Grey box testing: is the combination of white box testing & black box testing.

Yellow box testing: It is a message level testing. Simply yellow box testing is checking against the warning messages. Whether the system properly throwing the warning messages or not? is testing the for warning messages

Red box testing: User / Client can apply any techniques to accept the project. They will apply white box or grey box or black box for accepting the project. So we are calling the user acceptance testing as a red box testing. Also networking, peripherals testing and protocol testing called red box testing..

135. What is meant by bucket testing?

Bucket testing is a methodology for gauging the impact of different product designs on a Web site’s metrics. The basic premise is to run two simultaneous versions of a single or set of Web pages in order to measure the difference in clicks, traffic, transactions, and more between the two. Bucket testing provided a great way to send a small amount of traffic (usually less than 5%) to a different user interface without negatively impacting the bottom line if our new design had unintended negative consequences.

No comments:

Post a Comment