ThiDiff Technologies ( call based 2016, 2017 batch )

ThiDiff Technologies ( call based 2016, 2017 batch )

qa profile

DRIVE DATE 18 -4-2018

Address: 6th Floor, B – Block, Uma Sree Dream World, Kudlu Gate Junction, Hosur Road, Bengaluru, Karnataka 560068



Q #1) What is the difference between Quality Assurance, Quality Control and testing?

Quality Assurance is the process of planning and defining the way of monitoring and implementing the quality (test) processes within a team and organization. This method basically defines and sets the quality standards of the projects.

Quality Control is the process of finding defects and providing suggestions to improve the quality of the software. The methods used by Quality Control are usually established by the quality assurance.

It is the primarily responsibility of the testing team to implement quality control.

Testing is the process of finding defects / bug. It validates whether the software built by the development team meets the requirements set by the user and the standards set by the organization.

Here the main focus is on finding bugs and testing team acts as quality gatekeeper.

Q #2) When do you think QA activities should start?

QA activity should start from the beginning of the project. The more early it starts the more benefit it is to set the standards for achieving the quality.

The cost, time and efforts are very challenging in case the QA activities gets delayed.

Q #3) What is the difference between Test Plan and Test Strategy

Test Strategy is at a higher level, mostly created by the Project Manager which demonstrates the overall approach of the testing for the entire project, whereas Test plan basically depicts the how the testing should be performed for a particular application, falling under a project.

Q #4) Can you explain the software testing life cycle?

Software Testing Life Cycle refers to a testing process which has specific steps to be executed in a definite sequence to ensure that the quality goals have been met.

Please refer to the below link to know more:

Q #5) How do you define a format of writing a good test case?

A test case has the below format:

Test case ID,
Test case description
Build version
Steps to execute
Expected results
Actual results
Also, refer to the below link to get more information:

Q #6) What is a good test case?

In simple words, a good test case is one which finds a defect. But all test case will not find defects, so A good test case can also be one which has all the prescribed details and coverage.

Q #7) What would you do if you have a large suit to execute in a very less time?

In case we have less time, and have to execute larger volume of test cases, we should prioritize the test case at first instant and execute the high priority test cases first and then move on to the lower priority ones.

This way we can make sure that the important aspects of the software is tested.

Alternatively, we may also seek customer preference that which is the most important functionality of the software according to them, and we should start testing from those areas and then gradually move to those areas which are of less importance.

Q #8) Do you think QA’s can also participate to resolve production issues?

Definitely!! It would be a good learning curve for QA’s to participate in resolving production issues. Many a time production issues could be resolved by clearing the logs or making some registry settings or by restarting the services.

These kind of environmental issues could be very well fixed by the QA team.

Also If QAs have an insight on resolving the production issues, they may also include them while writing the test cases, and this way they can contribute to improve quality and try to minimize the production defects.

Q #9) Suppose you find a bug in production, how would you make sure that the same bug is not introduced again?

Best way is to immediately write a test case for the production defect and include it in the regression suite. This way we ensure that the bug does not get introduced again.

Also many a time we can also think of alternate test cases or similar kind of test case and include them in our planned execution.

Q #10) What is the difference between functional and nonfunctional testing?

Functional testing basically deals with the functional aspect of the application. This technique tests that the system is behaving as per the requirement and specification.

These are directly linked with customer requirement. We validate the test cases against the specified requirement and make the test pass or failed accordingly.

Examples include regression, integration, system, smoke etc…

Nonfunctional testing – on the other hand tests the Nonfunctional aspect of the application. It tests NOT the requirement, but the environmental factors like performance, load and stress.

These are not explicitly specified in the requirement but are prescribed in the quality standards. So as QA we have to make sure that these testing are also given sufficient time and priority.

Q #11) What is negative testing? How is it different from positive testing?

Negative testing is a technique which validates that the system behaves gracefully in case of any invalid inputs.

For example, in case user enters any invalid data in a text box, system should display a proper message instead of technical message which the user does not understands.

Negative testing is different from positive testing in a way that positive testing validates that our system works as expected and compares the test results with the expected results.

Most of the time scenarios for negative testing are not mentioned in the functional requirement documents. As a QA we have to identify the negative scenarios and should have provisions to test those.

Q #12) How would you ensure that your testing is complete and has good coverage?

Requirement traceability matrix and Test coverage matrices will help us to determine that our test cases have good coverage.

Requirement traceability matrices will help us to determine that the test conditions are enough so that all the requirements are covered.

Coverage matrices will help us to determine that the test cases are enough to satisfy all the identified test conditions in RTM.

A RTM will look something like:

quality assurance 1

Similarly Test coverage matrices will look like:

quality assurance 2

Q #13) What are the different artifacts you refer when you write the test cases?

The main artifacts used are:

Functional requirement specification
Requirement understanding document
Use Cases
User Stories
Acceptance criteria
Many a time UAT test cases
Q #14) Have you ever managed writing the test cases without having any documents?

Yes, many a time we have a situation where we have to write test cases without having any concrete documents. In that case, best way is to

Collaborate with the BA and development team.
Dig into mails which have some information.
Dig into older test cases / regression suite
If the feature is new, try to read the wiki pages or help of the application to have an idea
Sit with the developer and try to understand the changes being made.
Based on your understanding, identify the test condition and send it to BA or stakeholders to review them.
Q #15) What is meant by Verification and Validation?

Validation is the process of evaluating the final product to check whether the software meets the business needs.

The test execution which we do in our day to day life are actually the validation activity which includes smoke testing, functional testing, regression testing, systems testing etc…

Verification is a process of evaluating the intermediary work products of a software development lifecycle to check if we are in the right track of creating the final product.

Q #16) What are the different verification techniques you know?

Verification techniques are static in nature. There are 3 verification techniques:

Review, Inspection and walkthrough.

1) Review – Is a method by which the code / test cases are examined by the individual other than the author who has produced it.

It is one of the easy and best way to ensure coverage and quality.

2) Inspection – Is a technical and disciplined way to examine and correct the defects in the test artifact or code. Because it is disciplined, it has various roles:

Moderator – Who facilitates the entire inspection meeting
Recorder – Who records the minutes of meeting, defects occurred, and other points discussed.
Reader – The one who will read out the document / code. The leader also leads the entire inspection meeting.
Producer – The author. They are ultimately responsible to update their document / code as per the comments.
Reviewer – All the team can be considered as reviewer. This role can also be played be some group of experts is the project demands.
3) Walkthrough – Is a process in which the author of the document / code reads the content and gets the feedback.

This is most of the time a kind of FYI (For your information) session rather than seeking corrections.

Q #17) What is the difference between Load and Stress testing?

Stress Testing is a technique which validates the behavior of the system when it executes under stress. To explain, we reduce the resources and check the behavior of the system.

We first understand the upper limit of the system and gradually reduce the resources and check the system behavior.

In Load testing we validate the system behavior under the expected load. The load can be of concurrent user or resources accessing the system at the same time.

Q #18) In case you have any doubts regarding your project, how do you approach?

In case of any doubts, first try to get it clear by reading the available artifacts / application help. In case of doubts still persisting, ask immediate supervisor or the senior member of your team.

BA’s would also be a good choice to ask the doubts. We can also touch base with the development team in case of any doubts. The last option would be to follow up with the manager and finally to the stakeholders.

Q #19) Have you used any Automation tools?

The answer to this question is very much exclusive to individual. Reply with all the tools and strategy of automation that you have used in your project.

Q #20) How do you determine which piece of software require how much testing?

We can know this factor by finding out the Cyclomatic Complexity.

The technique helps to identify the below 3 questions for the programs / features

Is the feature / program testable?
Is the feature/ program understood by every one?
Is the feature / program reliable enough?
As a QA we can use this technique to identify the “level” of our testing.

It is a practice that if the result of cyclomatic complexity is more or a bigger number, we consider that piece of functionality to be of complex nature and hence we conclude as a tester; that the piece of code / functionality requires an in-depth testing.

On the other hand if the result of the Cyclomatic Complexity is a smaller number, we conclude as QA that the functionality is of less complexity and decide the scope accordingly.

As a QA its very important that we understand the entire testing lifecycle and should be able to suggest changes in our process if required.

1) What is the difference between the QA and software testing?

The role of QA (Quality Assurance) is to monitor the quality of the “process” used to produce the software. While the software testing, is the process of ensuring the functionality of final product meets the user’s requirement.

2) What is Testware?

Testware is test artifacts like test cases, test data, test plans needed to design and execute a test.

3) What is the difference between build and release?

Build: It is a number given to Installable software that is given to the testing team by the development team.

Release: It is a number given to Installable software that is handed over to the customer by the tester or developer.

4) What are the automation challenges that SQA(Software Quality Assurance) team faces while testing?

Mastering the automation tool
Reusability of Automation script
Adaptability of test case for automation
Automating complex test cases.
5) What is bug leakage and bug release?

Bug release is when software or an application is handed over to the testing team knowing that the defect is present in a release. During this the priority and severity of bug is low, as bug can be removed before the final handover.

Bug leakage is something, when the bug is discovered by the end users or customer, and not detected by the testing team while testing the software.

QA Interview Questions
SQA Interview Questions

6) What is data driven testing?

Data driven testing is an automation testing framework, which tests the different input values on the AUT. These values are read directly from the data files. The data files may include csv files, excel files, data pools and many more.

7) Explain the steps for Bug Cycle?

Once the bug is identified by the tester, it is assigned to the development manager in open status
If the bug is a valid defect the development team will fix it.
If it is not a valid defect, the defect will be ignored and marked as rejected
The next step will be to check whether it is in scope. If the bug is not the part of the current release then the defects are postponed
If the defect or bug is raised earlier then the tester will assign a DUPLICATE status
When bug is assigned to developer to fix, it will be given a IN-PROGRESS status
Once the defect is repaired, the status will change to FIXED at the end the tester will give CLOSED status if it passes the final test.
8) What does the test strategy include?

The test strategy includes an introduction, resource, scope and schedule for test activities, test tools, test priorities, test planning and the types of test that has to be performed.

9) Mention the different types of software testing?

Unit testing
Integration testing and regression testing
Shakeout testing
Smoke testing
Functional testing
Performance testing
White box and Black box testing
Alpha and Beta testing
Load testing and stress testing
System testing
10) What is branch testing and what is boundary testing?

The testing of all the branches of the code, which is tested once, is known as branch testing. While the testing, which is focused on the limit conditions of the software is known as boundary testing.

11) What are the contents of test plans and test cases?

Testing objectives
Testing scope
Testing the frame
The environment
Reason for testing
The criteria for entrance and exit
Risk factors
12) What is Agile testing and what is the importance of Agile testing?

Agile testing is software testing, is testing using Agile Methodology. The importance of this testing is that, unlike normal testing process, this testing does not wait for the development team to complete the coding first and then doing testing. The coding and testing both goes simultaneously. It requires continuous customer interaction.

13) What is Test case?

Test case is a specific condition to check against the Application Under Test. It has information of test steps, prerequisites, test environment, and outputs.

14) What is the strategy for Automation Test Plan?

The strategy for Automation Test Plan
Preparation of Automation Test Plan
Recording the scenario
Error handler incorporation
Script enhancement by inserting check points and looping constructs
Debugging the script and fixing the issues
Rerunning the script
Reporting the result
15) What is quality audit?

The systematic and independent examination for determining the effectiveness of quality control procedures is known as the quality audit.

16) What are the tools used by a tester while testing?

YSlow for FireBug
Web Developer toolbar for firebox
Above are just sample tools. The tools a Tester may vary with his/her project.

17) Explain stress testing, load testing and volume testing?

Load Testing: Testing an application under heavy but expected load is known as Load Testing. Here, the load refers to the large volume of users, messages, requests, data, etc.
Stress Testing: When the load placed on the system is raised or accelerated beyond the normal range then it is known as Stress Testing.
Volume Testing: The process of checking the system, whether the system can handle the required amounts of data, user requests, etc. is known as Volume Testing.
19) What are the five common solutions for software developments problems?

Setting up the requirements criteria, the requirements of a software should be complete, clear and agreed by all
The next thing is the realistic schedule like time for planning , designing, testing, fixing bugs and re-testing
Adequate testing, start the testing immediately after one or more modules development.
Use rapid prototype during design phase so that it can be easy for customers to find what to expect
Use of group communication tools
20) What is a ‘USE’ case and what does it include?

The document that describes, the user action and system response, for a particular functionality is known as USE case. It includes revision history, table of contents, flow of events, cover page, special requirements, pre-conditions and post-conditions.

21) What is CRUD testing and how to test CRUD?

CRUD stands for Create, Read, Update and Delete. CRUD testing can be done using SQL statements.

23) What is thread testing?

A thread testing is a top-down testing, where the progressive integration of components follows the implementation of subsets of the requirements, as opposed to the integration of components by successively lower levels.

24) What is configuration management?

It is a process to control and document any changes made during the life of a project. Release control, Change control and Revision control are the important aspects of configuration management.

25) What is Ad Hoc testing?

It is a testing phase where the tester tries to break the system by randomly trying the system’s functionality. It can include negative testing as well.

26) List out the roles of Software Quality Assurance engineer?

A software quality assurance engineer tasks may include following things amongst others

Writing source code
Software design
Control of source code
Reviewing code
Change management
Configuration management
Integration of software
Program testing
Release management process
27) Explain what are test driver and test stub and why it is required?

The stub is called from the software component to be tested. It is used in top down approach
The driver calls a component to be tested. It is used in bottom up approach
It is required when we need to test the interface between modules X and Y and we have developed only module X. So we cannot just test module X but if there is any dummy module we can use that dummy module to test module X
28) Explain what is Bug triage?

A bug triage is a process to

Ensure bug report completeness
Assign and analyze the bug
Assigning bug to proper bug owner
Adjust bug severity properly
Set appropriate bug priority
29) List out various tools required to support testing during development of the application?

To support testing during development of application following tools can be used

Test Management Tools: JIRA, Quality Center etc.
Defect Management Tools: Test Director, Bugzilla
Project Management Tools: Sharepoint
Automation Tools: RFT, QTP, and WinRunner
30) Explain what is a cause effect graph?

A cause effect graph is a graphical representation of inputs and the associated outputs effects that can be used to design test cases.

31) Explain what is Test Metric is software testing and what information does it contains?

In software testing, Test Metric is referred to the standard of test measurement. They are the statistics narrating the structure or content of a testing. It contains information like

Total test
Test run
Test passed
Test failed
Tests deferred
Test passed the first time
32) Explain what is traceability matrix?

A test matrix is used to map test scripts to requirements.

33) Explain what is the difference between Regression testing and Retesting?

Retesting is carried out to check the defects fixes, while regression testing is performed to check whether the defect fix have any impact on other functionality.

34) List out the software quality practices through the software development cycle?

Software quality practices includes

Review the requirements before starting the development phase
Code Review
Write comprehensive test cases
Session based testing
Risk based testing
Prioritize bug based on usage
Form a dedicated security and performance testing team
Run a regression cycle
Perform sanity tests on production
Simulate customer accounts on production
Include software QA Test Reports
35) Explain what is the rule of a “Test Driven Development”?

The rule of a Test Driven Development is to prepare test cases before writing the actual code. Which means you are actually be writing code for the tests before you write code for the application.

36) Mention what are the types of documents in SQA?

The types of documents in SQA are

Requirement Document
Test Metrics
Test cases and Test plan
Task distribution flow chart
Transaction Mix
User profiles
Test log
User profiles
Test incident report
Test summary report
37) Explain what should your QA documents should include?

QA testing document should include

List the number of defects detected as per severity level
Explain each requirement or business function in detail
Inspection reports
Test plans and test cases
Bug reports
User manuals
Prepare separate reports for managers and users
38) Explain what is MR and what information does MR consists of?

MR stands for Modification Request also referred as Defect report. It is written for reporting errors/problems/suggestions in the software.

39) What does the software QA document should include?

Software QA document should include

Business rules
Code changes
Test plans
Test cases
Bug reports
User manuals, etc
40) Mention how validation activities should be conducted?

Validation activities should be conducted by following techniques

Hire third party independent verification and validation
Assign internal staff members that are not involved in validation and verification activities
Independent evaluation