Entries Tagged 'Testing Interview questions' ↓

How to prepare for software testing interview

This is the a guest post from author “Suhas R M”. Author is working as a software test engineer and having 4 years of manual testing experience.

A colleague of mine recently asked me, “Where should I start with for preparation of interview? It’s almost 2 years I have faced any interview.”

My answer was straightforward: (This will help for fresher as well as working professional who want to switch the current job)

What you need to know about software testing?
First basic thing – Testing Concepts: One needs to be very good at this especially the manual testing methodologies.  But only knowing different testing concepts is half work done. The next – most important thing is to know which type/technique/concept of testing can be applied at what stage of SDLC.

“What should I test and when” is very important. There might be some concepts, which are not applicable to what we, professional test in our company, but it’s always better to have an idea of all testing practices.

Many freshers and working testing professionals have might not worked on various testing domains like localization testing, time Zone testing etc. But knowing more than what you have worked on will help you better answering the different questions from the interviewer. I always try to keep my testing knowledge updated besides my current project work. This helped me a lot while switching my job some years ago. What if an interviewer asks you question on topic, which you have never worked on? For example you don’t have any experience on web based projects or client server testing and interviewer asks you to test “Yahoo mail application”. Will you be able to answer this question? You can. Even you have not worked on this type of projects. How? Your curiosity to learn the things you never done before will help you in this case. So broaden your thinking area, be curious in every work and every query you face in your daily work routine.

Knowing more is harmless and will definitely help you at least to give your thoughts on the questions asked by interviewer.

If you don’t know any testing concept, e.g. “Localization testing”, then try to learn the concepts first. Like – what would be localization testing? It’s simple; Test if the application looks local for you while using. Then go on exploring. See for used colors, content, images, culture etc, Different countries, locales have it in different way. Consider a web site that reads from right to left, is it accepted in countries other than Middle East? Obviously NO. Or can you display the same geo specific content in India what you can display in US? Again NO. This is just a simple example how you can learn unknown testing concepts.

The very essential part of a test engineer is “Thinking out of box”. If you are not capable of thinking out of box, believe me testing is not for you. What do you mean by thinking out of box? Don’t just follow the traditional methods. Implement new things in testing. Try to summarize, automate the routine testing work. Think from user perspective. Think how user will use your application. What common mistakes he can make or which tasks he can perform on your application? This way you will get insight of any application and will also help to answer the questions in depth.

Besides from “curiosity to learn” you should upgrade your skill in following areas:
- Some hands-on on basic database/SQL queries and concepts
- Any basic scripting language (For automation testing)
- Networking and system administration concepts will help you in system domain projects.

Do not just write the UI test cases, check what is happening inside the application. For application having database connection check for data updation, retrieving and in any case there should not be loss of data.

Get hold on project. Know the application under test before starting to test it. Instead of looking in the requirement document, look into the architecture doc, design doc, sequence diagram and activity flow diagram.

Most importantly you need to be perfect in what you mention in your CV. All the questions interviewer asks will be based on what you are specifying in your CV. So do not mention the skills you have not worked on, just for the sake of decorating the CV with multiple skills.

The key point in interview is, You should make interviewer feel that it was a complex application you were testing and had lot many challenges in it for a tester!

And one last thing – If you don’t know answer for a question, say so. Don’t fool around and get into trouble.

If you have any query on “preparation for testing interview” then comment it below.

To get email notifications of new articles on software testing subscribe to our email newsletter.

CSTE software testing certification exam question pattern

This article will give you general idea about CSTE certification exam paper pattern. I have included some sample questions and answers for the CSTE mock test paper. You can refer these questions and can judge the pattern of descriptive answer paper. If you need objective type questions from CSTE paper you can refer our previous article on CSTE objective type question answers . Also you can download some more sample papers from our ‘Downloads’ section.

CSTE mock test paper – Questions and Answers:

1. Define the following along with examples [25 Marks]
a. Boundary Value testing
b. Equivalence testing
c. Error Guessing
d. Desk checking
e. Control Flow analysis

Answer:
a) Boundary value Analysis: – A process of selecting test cases/data by identifying the boundaries that separate valid and invalid conditions. Tests are constructed to test the inside and outside edges of these boundaries, in addition to the actual boundary points. or A selection technique in which test data are chosen to lie along “boundaries” of the input domain [or output range] classes, data structures, procedure parameters, etc. Choices often include maximum, minimum, and trivial values or parameters.

E.g. – Input data 1 to 10 (boundary value)
Test input data 0, 1, 2 to 9, 10, 11

b) Equivalence testing: – The input domain of the system is partitioned into classes of representative values, so that the no of test cases can be limited to one-per-class, which represents the minimum no. of test cases that must be executed.

E.g.- valid data range: 1-10
Test set:-2; 5; 14

c) Error guessing: – Test data selection technique. The selection criterion is to pick values that seem likely to cause errors Error guessing is based mostly upon experience, with some assistance from other techniques such as boundary value analysis. Based on experience, the test designer guesses the types of errors that could occur in a particular type of software and designs test cases to uncover them.

E.g. – For example, if any type of resource is allocated dynamically, a good place to look for errors is in the de-allocation of resources. Are all resources correctly deallocated, or are some lost as the software executes?

d) Desk checking: – Desk checking is conducted by the developer of the system or program. The process involves reviewing the complete product to ensure that it is structurally sound and that the standards and requirements have been met. This is the most traditional means for analyzing a system or program.

e) Control Flow Analysis: – It is based upon graphical representation of the program process. In control flow analysis; the program graphs has nodes which represent a statement or segment possibly ending in an unresolved branch. The graph illustrates the flow of program control from one segment to another as illustrated through branches .the objective of control flow analysis is to determine the potential problems in logic branches that might result in a loop condition or improper processing.

2. You find that there is a senior tester who is making more mistakes than the junior testers. You need to communicate this aspect to the senior tester. Also, you don’t want to loose this tester. How should one go about the constructive criticism? [10 Marks]

Answer:
In the quality approach, it is the responsibility of the supervisor to make His/Her subordinates successful. The effective use of criticism is a tool for improving subordinate performance.

In giving constructive criticism, you should incorporate the following tactics: -

  • Do it privately.
  • Have the facts.
  • Be prepared to help the worker improve His/Her performance.
  • Be specific on Expectations.
  • Follow a specific process in giving the criticism.

3. Your manager has taken you onboard as a test lead for testing a web-based application. He wants to know what risks you would include in the Test plan. Explain each risk factor that would be a part of your test plan. [20 marks]

Answer:
Web-Based Application primary risk factors:-

A) Security: anything related to the security of the application.
B) Performance:- The amount of computing resources and code required by the system to perform its stated functions.
C) Correctness:-Data entered, processed, and outputted in the system is accurate and complete
D) Access Control:-Assurance that the application system resources will be protected
E) Continuity of processing:-The ability to sustain processing in the event problem occurs
F) Audit Trail:-The capability to substantiate the processing that has occurred.
G) Authorization:-Assurance that the data is processed in accordance with the intents of the management.

General risk or secondary risk’s:-

A) Complex – anything disproportionately large, intricate or convoluted.
B) New – anything that has no history in the product.
C) Changed – anything that has been tampered with or “improved”.
D) Upstream Dependency – anything whose failure will cause cascading failure in the rest of the system.
E) Downstream Dependency – anything that is especially sensitive to failures in the rest of the system.
F) Critical – anything whose failure could cause substantial damage.
G) Precise – anything that must meet its requirements exactly.
H) Popular – anything that will be used a lot.
I) Strategic – anything that has special importance to your business, such as a feature that sets you apart from the competition.
J) Third-party – anything used in the product, but developed outside the project.
K) Distributed – anything spread out in time or space, yet whose elements must work together.
l) Buggy – anything known to have a lot of problems.
M) Recent Failure – anything with a recent history of failure.

4. You are in the contract stage of a project and are developing a comprehensive proposal for a safety critical software system. Your director has consulted you for preparing a guideline document what will enlist user’s role during acceptance testing phase. Indicate the key roles you feel that the user should play during acceptance stage. Also indicate the categories into which the acceptance requirements should fall. [10 Marks]

Answer:
1) Ensure user involvement in developing systems requirement and acceptance criteria.
2) Identify interim and final products for acceptance their acceptance criteria and schedule.
3) Plan how and by whom each acceptance activity will be performed.
4) Plan resources for providing information.
5) Schedule adequate time for buyer staff to receive and examine the products and evaluation prior to acceptance review.
6) Prepare the acceptance plan.
7) Respond to the analysis of project entitles before accepting and rejecting.
8 ) Approve the various interim software products.
9) Perform the final acceptance activities, including the formal acceptance testing at delivery.
10) Make an acceptance decision for each product.

5. What is parallel testing and when do we use parallel testing? Explain with
example?
[5 marks]

Answer:
Testing a new or an altered data processing system with the same source data that is used in another system. The other system is considered as the standard of comparison. OR we can say that parallel testing requires the same input data be run through two versions of the same application.
Parallel testing should be used when there is uncertainty regarding the correctness of processing of the new application. And old and new versions of the applications are same.
E.g.-
1) Operate the old and new version of the payroll system to determine that the paychecks from both systems are reconcilable.
2) Run the old version of the application system to ensure that the operational status of the old system has been maintained in the event that problems are encountered in the new application.

6. What is the difference between testing Techniques and tools? Give examples. [5 marks]

Answer:
Testing technique: – Is a process for ensuring that some aspects of the application system or unit functions properly there may be few techniques but many tools.

Tools: – Is a vehicle for performing a test process. The tool is a resource to the tester, but itself is insufficient to conduct testing

E.g.:- The swinging of hammer to drive the nail. The hammer is a tool, and swinging the hammer is a technique. The concept of tools and technique is important in the testing process. It is a combination of the two that enables the test process to be performed. The tester should first understand the testing techniques and then understand the tools that can be used with each of the technique.

7. Quality control activities are focused on identifying defects in the actual products produced; however your boss wants you to identify and define processes that would prevent defects. How would you explain to him to distinguish between QA and QC responsibilities? [10 Marks]

Answer:

Quality Assurance:
1) A planned and systematic set of activities necessary to provide adequate confidence that requirements are properly established and products or services conform to specified requirements
2) An activity that establishes and evaluates the processes to produce the products.
3) Helps establish processes.
4) Sets up measurements programs to evaluate processes.
5) Identifies weaknesses in processes and improves them.
6) QA is the responsibility of the entire team.
7) Prevents the introduction of issues or defects

Quality Control:
1) The process by which product quality is compared with applicable standards; and the action taken when nonconformance is detected.
2) An activity which verifies if the product meets pre-defined standards.
3) Implements the process.
4) Verifies if specific attribute(s) are in a specific product or service
5) Identifies defects for the primary purpose of correcting defects.
6) QC is the responsibility of the tester.
7) Detects, reports and corrects defects

8 ) Differentiate between Transaction flow modeling, Finite state modeling, Data flow modeling and Timing modeling? [10 Marks]

Answer:
Transaction Flow modeling: -The nodes represent the steps in transactions. The links
represent the logical connection between steps.

Finite state modeling:-The nodes represent the different user observable states of the software. The links represent the transitions that occur to move from state to state.

Data flow modeling:-The nodes represent the data objects. The links represent the transformations that occur to translate one data object to another.

Timing Modeling:-The nodes are Program Objects. The links are sequential connections between the program objects. The link weights are used to specify the required execution times as program executes.

9) List what you think are the two primary goals of testing
[5 Marks]

Answer:
1) Determine whether the system meets specifications (producer view)
2) determine whether the system meets business and user needs (Customer view)

Test your Software Testing knowledge. Take this mock test

If you are preparing for CSTE testing certification exam or thinking to give the exam in coming days then this question series will help you for preparation. Here I have included some questions from CSTE objective type question papers.

The software testing/Quality assurance professionals can also take this exam to test their testing knowledge.

You can either take printout and mark the answers or note your answers somewhere on the paper serially for all 25 questions. Verify your answers at the answer page provided at the bottom of this test page.

1. Verification is:
a. Checking that we are building the right system
b. Checking that we are building the system right
c. Performed by an independent test team
d. Making sure that it is what the user really wants

2. A regression test:
a. Will always be automated
b. Will help ensure unchanged areas of the software have not been affected
c. Will help ensure changed areas of the software have not been affected
d. Can only be run during user acceptance testing

3. If an expected result is not specified then:
a. We cannot run the test
b. It may be difficult to repeat the test
c. It may be difficult to determine if the test has passed or failed
d. We cannot automate the user inputs

4. Which of the following could be a reason for a failure
1) Testing fault
2) Software fault
3) Design fault
4) Environment Fault
5) Documentation Fault
a. 2 is a valid reason; 1,3,4 & 5 are not
b. 1,2,3,4 are valid reasons; 5 is not
c. 1,2,3 are valid reasons; 4 & 5 are not
d. All of them are valid reasons for failure

5. Test are prioritized so that:
a. You shorten the time required for testing
b. You do the best testing in the time available
c. You do more effective testing
d. You find more faults

6. Which of the following is not a static testing technique
a. Error guessing
b. Walkthrough
c. Data flow analysis
d. Inspections

7. Which of the following statements about component testing is not true?
a. Component testing should be performed by development
b. Component testing is also know as isolation or module testing
c. Component testing should have completion criteria planned
d. Component testing does not involve regression testing

8. During which test activity could faults be found most cost effectively?
a. Execution
b. Design
c. Planning
d. Check Exit criteria completion

9. Which, in general, is the least required skill of a good tester?
a. Being diplomatic
b. Able to write software
c. Having good attention to detail
d. Able to be relied on

10. The purpose of requirement phase is
a. To freeze requirements
b. To understand user needs
c. To define the scope of testing
d. All of the above

11. The process starting with the terminal modules is called -
a. Top-down integration
b. Bottom-up integration
c. None of the above
d. Module integration

12. The inputs for developing a test plan are taken from
a. Project plan
b. Business plan
c. Support plan
d. None of the above

13. Function/Test matrix is a type of
a. Interim Test report
b. Final test report
c. Project status report
d. Management report

14. Defect Management process does not include
a. Defect prevention
b. Deliverable base-lining
c. Management reporting
d. None of the above

15. What is the difference between testing software developed by contractor outside your country, versus testing software developed by a contractor within your country?
a. Does not meet people needs
b. Cultural difference
c. Loss of control over reallocation of resources
d. Relinquishments of control

16. Software testing accounts to what percent of software development costs?
a. 10-20
b. 40-50
c. 70-80
d. 5-10

17. A reliable system will be one that:
a. Is unlikely to be completed on schedule
b. Is unlikely to cause a failure
c. Is likely to be fault-free
d. Is likely to be liked by the users

18. How much testing is enough
a. This question is impossible to answer
b. The answer depends on the risks for your industry, contract and special requirements
c. The answer depends on the maturity of your developers
d. The answer should be standardized for the software development industry

19. Which of the following is not a characteristic for Testability?
a. Operability
b. Observability
c. Simplicity
d. Robustness

20. Cyclomatic Complexity method comes under which testing method.
a. White box
b. Black box
c. Green box
d. Yellow box

21. Which of these can be successfully tested using Loop Testing methodology?
a. Simple Loops
b. Nested Loops
c. Concatenated Loops
d. All of the above

22. To test a function, the programmer has to write a ______, which calls the function and passes it test data.
a. Stub
b. Driver
c. Proxy
d. None of the above

23. Equivalence partitioning is:
a. A black box testing technique used only by developers
b. A black box testing technique than can only be used during system testing
c. A black box testing technique appropriate to all levels of testing
d. A white box testing technique appropriate for component testing

24. When a new testing tool is purchased, it should be used first by:
a. A small team to establish the best way to use the tool
b. Everyone who may eventually have some use for the tool
c. The independent testing team
d. The vendor contractor to write the initial scripts

25. Inspections can find all the following except
a. Variables not defined in the code
b. Spelling and grammar faults in the documents
c. Requirements that have been omitted from the design documents
d. How much of the code has been covered

Done?

Click here to Verify your answers.

Interesting posts on Software Testing Help

Here is digg into some interesting posts on Software Testing Help. Hope you will enjoy it:

  • Difference Between Client server and Web application testing: The most frequently asked software testing interview question. What is difference between Desktop, Client-server and web application testing? I have shortly addressed this question here.
  • Some interesting Software Testing Interview Questions: Here I addressed three basic questions like What is the most challenging situation in your testing career? What if one module is modified in application, Is it necessary to test whole application? How to test application without specifications?
  • How to improve Testers performance? You can find here answer to What measures can company should take to improve testers performance as for some companies its not possible to hire required number of testers. Here you can also find a interesting debate in me and Pradeep S.
  • Will Automation Testing tool make your testing easier? Some ins and outs of Automation. Be sure to think these points before going for your project Automation.
    So after taking decision for Automation you will not be in trouble.
  • Why does software have bugs? A million Dollar question! The broad list of reasons like miscommunication, Software complexity, Changing requirements, programming errors and people egos which introduces common bugs. See some of the man introduced reasons and machine oriented bug reasons here.
  • What if there isn’t time for thorough testing? Find out some tips to complete testing in time if you don’t have time for detail testing. Points to be considered when you are in such dilemma of what to test first?
  • How to test complete Application? SQA processes to be followed in testing life cycle. And guide on how to test complete application right from the requirement gathering to last step post release maintenance?

Regression Testing with Regression Testing Tools and methods

What is Regression Software Testing?
Regression means retesting the unchanged parts of the application. Test cases are re-executed in order to check whether previous functionality of application is working fine and new changes have not introduced any new bugs.

This is the method of verification. Verifying that the bugs are fixed and the newly added feature have not created in problem in previous working version of software.

Why regression Testing?
Regression testing is initiated when programmer fix any bug or add new code for new functionality to the system. It is a quality measure to check that new code complies with old code and unmodified code is not getting affected.
Most of the time testing team has task to check the last minute changes in the system. In such situation testing only affected application area in necessary to complete the testing process in time with covering all major system aspects.

How much regression testing?
This depends on the scope of new added feature. If the scope of the fix or feature is large then the application area getting affected is quite large and testing should be thoroughly including all the application test cases. But this can be effectively decided when tester gets input from developer about the scope, nature and amount of change.

What we do in regression testing?

  • Rerunning the previously conducted tests
  • Comparing current results with previously executed test results.

Regression Testing Tools:
Automated Regression testing is the testing area where we can automate most of the testing efforts. We run all the previously executed test cases this means we have test case set available and running these test cases manually is time consuming. We know the expected results so automating these test cases is time saving and efficient regression testing method. Extent of automation depends on the number of test cases that are going to remain applicable over the time. If test cases are varying time to time as application scope goes on increasing then automation of regression procedure will be the waste of time.

Most of the regression testing tools are record and playback type. Means you will record the test cases by navigating through the AUT and verify whether expected results are coming or not.
Example regression testing tools are:

Most of the tools are both Functional as well as regression testing tools.

Regression Testing Of GUI application:
It is difficult to perform GUI(Graphical User Interface) regression testing when GUI structure is modified. The test cases written on old GUI either becomes obsolete or need to reuse. Reusing the regression testing test cases means GUI test cases are modified according to new GUI. But this task becomes cumbersome if you have large set of GUI test cases.

WinRunner automation tool Preparation: Weekend preparation Series

This is part of Winrunner Interview question series post. I have previously wrote posts on some Basic Winrunner FAQ’s part-1 and Winrunner basics part-2.

These are some important winrunner interview questions frequently asked in automation testing interview. If you are unclear of any answer ask me for clarification. I will continue this winrunner tutorials posting series on weekends as a testing interview preparation series for you.

How do you analyze test results in Winrunner tool and report the defects?

When you finish any test in WinRunner, WinRunner displays the results in a report format. The report logs the general information about the test run I.e date, operator mode and total run time. Also the report details all the major events that occurred during the run, such as checkpoints, error messages, system messages, or user messages. Mismatch can be found in the report panel by seeing the actual result and the expected result. If a test run fails due to a defect in the application being tested, you can report information about the defect directly from the Test Results window. This information is sent via e-mail to the quality assurance manager, who tracks the defect until it is fixed.

What is the use of Test Director testing tool?

TestDirector is Mercury Interactive’s software test management tool. It helps quality assurance personnel plan and organize the testing process. With TestDirector you can create a database of manual and automated tests, build test cycles, run tests, and report and track defects. You can also create reports and graphs to help review the progress of planning tests, running tests, and tracking defects before a software release.

How to integrate automated scripts from TestDirector to Winrunner Scripts?

When you work in WinRunner and create any test script you have option to save it directly to Test Director test repository.
Or while creating a test case in the TestDirector we can specify whether the script in automated or manual. And if it is automated script then TestDirector will build a skeleton for the script like TSL(Test Script language) of winrunner that can be later modified into one which could be used to test the application.

What are the different modes of recording in WinRunner?

Two type of recording in WinRunner.
1. Context Sensitive recording records the operations you perform on your application by identifying Graphical User Interface (GUI) objects. Winrunner identifies all the objects in your window you click like menus, windows, lists, buttons and the type of operation you perform such as enable, move, select etc.
2. Analog recording records keyboard input, mouse clicks, and the precise x- and y-coordinates traveled by the mouse pointer across the screen i.e Winrunner records exact co-ordinates traveled by mouse.

What is the purpose of loading WinRunner Add-Ins?

Add-Ins are used in WinRunner to load functions specific to the particular add-in to the memory. While creating a script only those functions in the add-in selected will be listed in the function generator and while executing the script only those functions in the loaded add-in will be executed else WinRunner will give an error message saying it does not recognize the function.

What are the reasons that WinRunner fails to identify GUI object?

WinRunner fails to identify an object in a GUI due to various reasons.
1. The object is not a standard windows object.
2. If the browser used is not compatible with the WinRunner version, GUI Map Editor will not be able to learn any of the objects displayed in the browser window.

What do you mean by the logical name of the object.

When you click an object, WinRunner assigns the object a logical name, which is
usually the object’s text label. The logical name makes it easy for you to read the
test script. For example, when you selected the Order No. check box,
WinRunner recorded the following statement in WinRunner TSL:
button_set (“Order No.”, ON);
“Order No.” is the object’s logical name.

An object’s logical name is determined by its class. In most cases, the logical name is the label that appears on an object.

If the object does not have a name then what will be the logical name?
If the object does not have a name then the logical name could be the attached text.

What is the different between GUI map and GUI map files?

The GUI map is actually the sum of one or more GUI map files. There are two modes for organizing GUI map files.
i. Global GUI Map file: a single GUI Map file for the entire application
ii. GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.

GUI Map file is a file which contains the windows and the objects learned by the WinRunner with its logical name and their physical description.