Quality assurance (QA)
QA is a way of preventing mistakes or defects in manufactured products and avoiding problems when delivering solutions or services to customers; which ISO 9000 defines as "part of quality management focused on providing confidence that quality requirements will be fulfilled”. This defect prevention in quality assurance differs subtly from defect detection and rejection in quality control, and has been referred to as a shift left as it focuses on quality earlier in the process.
ISO 9000 is an international standard that many companies use to ensure that their quality assurance system is in place and effective. Conformance to ISO 9000 is said to guarantee that a company delivers quality products and services. To follow ISO 9000, a company's management team decides quality assurance policies and objectives. Next, the company or an external consultant formally writes down the company's policies and requirements and how the staff can implement the quality assurance system. Once this guideline is in place and the quality assurance procedures are implemented, an outside assessor examines the company's quality assurance system to make sure it complies with ISO 9000. A detailed report describes the parts of the standard the company missed, and the company agrees to correct any problems within a specific time. Once the problems are corrected, the company is certified as in conformance with the standard.
What is QA?
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.
QA refers to the planned and systematic way of monitoring the quality of process which is followed to produce a quality product. QA tracks the outcomes and adjusts the process to meet the expectation.

What is QC?
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.

What is software testing?
Software Testing is the process of ensuring that product which is developed by the developer meets the user requirement. The motive to perform testing is to find the bugs and make sure that they get fixed.

What is a good test case?
A test case is a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly. Good test cases do only one thing at a time. They don’t overlap and are less complicated. They must be ‘atomic’.

What are the characteristics of a good test case?
  • Accurate
Tests what the description says it will test
  • Economical
Separate the initiation steps
Has only the steps needed for its purpose
  • Repeatable, self-standing
Same results no matter who tests it
Don't rely on tester experience when using scripted test
  • Appropriate
No Pesticide Paradox presents
For both immediate and future testers
  • Traceable
Forward to logs
Backward to a requirement
  • Self-cleaning
Returns the test environment to a start state

How to write a test case?
Test cases should be effective enough to cover each and every feature and quality aspect of software and able to provide complete test coverage with respect to specified requirements and specifications.

What is the Difference between Test Plan and Test Strategy?
A test plan in software testing is the document that outlines the what, when, how, who, and more of a testing project. In general, it includes the objective and scope of the tests to be run. A test plan does not include the tests themselves – those are called test cases
Testing strategy is a general approach to the testing process rather than a method of devising particular system or component tests. Different testing strategies may be adopted depending on the type of system to be tested and the development process used. There are two different strategies available: Top-Down Testing and Bottom-Up Testing.

Define use case testing?
Use Case Testing is a functional black box testing technique that helps testers to identify test scenarios that exercise the whole system on each transaction basis from start to finish.

What is load testing?
A load test is usually conducted to understand the behavior of the system under a specific expected load. This load can be the expected concurrent number of users on the application performing a specific number of transactions within the set duration. This test will give out the response times of all the important business critical transactions.

Define Testware?
Test ware is a subset of software. It helps testers to test the performance of applications
It plans, designs and executes tests during testing processes and procedures. Some of the features of Testware include inputs, scripts, and documents. Others are expected results, utilities and additional software necessary in testing.
Testware can also be defined as a combination of application software and utilities. These apps and utilities are vital in testing an individual software package. Testware is unique since it can be used for different purposes. Its various metrics enhance quality in testing. Its ability to accommodate different users makes testing easy.

What is stress testing?
 Under stress testing, various activities to overload the existing resources with excess jobs are carried out in an attempt to break the system down.
Stress testing refers to the testing of software or hardware to determine whether its performance is satisfactory under any extreme and unfavorable conditions, which may occur as a result of heavy network traffic, process loading, under clocking, overclocking and maximum requests for resource utilization

What is test deliverables?
Test deliverables are the end products of a complete software testing process- prior, during and after the testing, which is used to impart testing analysis, details and outcomes to the client.

What are Test Driver and Test Stub and why are they required?
A 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. Now module B cannot receive or send data from module A directly. So in this case, we have to transmit data from one module to another module by some external features. This external feature is referred as Driver.

What is boundary testing?
Boundary tests are designed to check a program's response to extreme input values. Extreme output values are generated by the input values. It is important to check that a program handles input values and output results correctly at the lower and upper boundaries. Test which focus on the boundary or limit conditions of the software being tested. (Some of these tests are stress tests).

What is integration testing?
Integrated components and there interfaces are tested as a group. The purpose behind integration testing is to check communication between integrated components is fine. By testing the components in groups, any faults in the way they communicate together can be identified. Integration testing helps in identifying the problems that occur when the individual components are combined i.e. it detects the problem in interface of the two components. No matter how well each component is running but if integration is not done properly, it will affect overall performance of software program. Integration testing is done after unit testing.
Integration testing is a software testing methodology used to test individual software components or units of code to verify interaction between various software components and detect interface defects. Components are tested as a single group or organized in an iterative manner. After the integration testing has been performed on the components, they are readily available for system testing Integration testing is level of software testing where integrated components and there interfaces are tested as a group. The purpose behind integration testing is to check communication between integrated components is fine. By testing the components in groups, any faults in the way they communicate together can be identified. Integration testing helps in identifying the problems that occur when the individual components are combined i.e. it detects the problem in interface of the two components. No matter how well each component is running but if integration is not done properly, it will affect overall performance of software program. Integration testing is done after unit testing.

What is test harness?
Test harness is a term used to collectively define various inputs and resources required in executing the tests, especially the automated tests to monitor and assess the behavior and output of the system under different varied conditions and factors. Thus, test harness may include test data, software, hardware and many such things.

What’s your experience using Continuous Integration as part of the development process?
If this is applicable to your company, it is a great thing to hear that a candidate has worked with Jenkins or Bamboo CI. If he has set up these systems and can give recommendations to you on what worked and did not work in his previous jobs, the candidate has earned himself not only bonus points but a merit badge or two.

Do you know bug life cycle?
Yes, the time taken for the defeat to be closed or rejected or deferred is called as a bug life cycle.

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.

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.

What is the strategy for a successful Test automation plan?
A successful test automation plan should cover the following aspects.
Preparation of Automation Test Plan.
Recording the scenario.
Error handler incorporation.
Script enhancement by inserting checkpoints and looping constructs.
Debugging the script and fixing the issues.
Re-running the script.
Reporting the result.

How do you go about learning a new product?
This is perhaps the biggest challenge of being a QA engineer. They need to be comfortable and patient with learning complex software. They should be prepared to ask a lot of questions.

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.

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.

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
  • Wireframes
  • User Stories
  • Acceptance criteria
  • Many a time UAT test cases
What are the different verification techniques?
Verification techniques are static in nature. There are 3 verification techniques:
Review, Inspection and walkthrough

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.

What is black box testing?
Black box testing is a testing strategy based solely on requirements and specifications. Black box testing requires no knowledge of internal paths, structures, or implementation of the software being tested. Black Box Testing: It verifies that the requirements are met and examines the functionality of an application.

What are the Advantages of Black Box Testing?
  • More effective on larger units of code than glass box testing
  • Tester needs no knowledge of implementation, including specific programming languages
  • Tester and programmer are independent of each other
  • Tests are done from a user’s point of view
  • Will help to expose any ambiguities or inconsistencies in the specifications
  • Test cases can be designed as soon as the specifications are complete.
To what extent should developers do their own testing or do you believe testing is the responsibility of the QA team?
The answer to this question is really depending on the business environment you are working in. in today’s emerging test scenario, it is also the developer’s responsibility to perform at least some of his own code testing. Though it is not expected that he will have the capacity or that his focus should be to run through large test plans or test on a large stack of devices. However, without the responsibility to review and test his code, a sense of ownership will not develop.
We believe that results will improve more if all parties have access to test cases and are able to run and access them regularly to verify if the latest changes brought any regression

Do you know about 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 the bug are low, as it has to be fixed before the final handover.
Bug leakage is something, when the bug is discovered by the end users or customer, and missed by the testing team to detect while testing the software.

Tell us about the best bug of your test career?
Well since there are so many quality bugs I’ve discovered in my testing career that I can’t really remember the best one I found. What always surprises me is that you find so many different kinds of bugs so quick. It proved that having multiple competencies in the team are a great asset while testing. The latest bug hunt I did was conducted on a product application which was already on the market for some time. Still, we found 21 bugs in 7 minutes! And yes even a crash! That is what amazes me.

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.

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

What do you think is a test plan? Have you written one before? What does it usually consist of?
A test plan is a sort of document which analyzes the resource, scope, approach and schedule of several testing activities. It will help you to find items that need to be tested, its features that need further testing, the risks that come with some and the solutions as well. Yes I have written a test plan before.
 It consists of history, contents, introduction, scope, overview and approach. The risks and assumptions are not left out either,

Do you like the QA job? If yes, tell us why?
Yes I do like the QA job. The only reason behind this is because the job is process oriented. This means that here I have the opportunity to do try several things at the time. I can analyze the needed documents, test the application, write test plans and test cases, prepare reports and retest them once again if the need arises. My favorite task would be reducing defects. The more defects I find while working, the happier I will be.
If you are about to sit for an interview and it is your desire to become a QA, then this article will definitely take care of some of the most basic questions that several companies ask. All important details have been mentioned so that you don’t miss out on a single one. These questions have been asked by interviewers for years and some of them are still popular today. You should also make it a point to practice all your answers right in front of the mirror. This will boost your confidence and help you nail that interview like a professional. It might seem a little difficult at first, but with a little practice you can do almost anything

What is the main role of QA testers in a project development?
The Quality Assurance testers are the essential players in testing. They assure quality by monitoring the entire development process. By monitoring, they track the outcomes of the testing process and goes ahead to adjust the process. This when the process is not in line with the intended purpose. Besides the monitoring role, QAs are responsible for overall planning and execution of the process. They also create a timetable and enter into agreements regarding the Quality Assurance plan relating to an individual product. Regarding tracking of test cases, it is one of the roles of testers. The manager or officer in charge may assign other functions to testers.

Why use automated testing over manual testing?
Automated testing run much faster as compared to manual testing and therefore it is time-saving. Automated testing allows for the exploitation of the automation tool, unlike the manual testing. The re-usability of the automation script is possible with the application of automated testing. There is also frequency in use of the test case in automated testing alongside adaptability of it. The manual testing is not suitable for comparison and for future reference due to extensive manual records to be evaluated.

Define fuzz testing?
Fuzz testing is used to discover coding flaws and security loopholes by subjecting system with the large amount of random data with the intent to break the system

How important is the localization and globalization testing of a software application?
Globalization and localization testing ensures the software product features and standards to be globally accepted by the world wide users and to meet the need and requirements of the users belonging to a particular culture, area, region, country or locale, respectively.

What is cookie testing?
Cookie is used to store the personal data and information of a user at server location, which is later used for making connections to web pages by the browsers, and thus it is essential to test these cookies.

What is difference between alpha and beta testing?
Both alpha and beta testing are the forms of acceptance testing where former is carried out at development site by the QA/testing team and the latter one is executed at client site by the intended users.

What are the different types of requirements required in software testing?
Software/functional requirements, business requirements and user requirements.

If is it possible to test without requirements?
Yes, testing is an art, which may be carried out without requirements by a tester by making use of his/her intellects possessed, acquired skills and gained experience in the relevant domain.

What is the role of developer in unit testing?
As developers are well versed with their lines of code, they are preferred and being assigned the responsibility of writing and executing the unit tests.

What are the different approaches to perform software testing?
Generally, there are two approaches to perform software testing viz. manual testing and Automation. Manual testing involves the execution of test cases on the software manually by the tester whereas automation process involves the usage of automation framework and tools to automate the task of test scripts execution.

What is testing to you? Do you have a testing paradigm? Can you explain it?
Why did you choose software testing as a career, and what motivates you to stick with it?
Tell me about the work you’ve been doing recently. What’s the most interesting bug that you’ve found, and why?
What kind of challenges does testing present? Can you tell me about some specific software testing challenges you’ve faced, and how you overcame them?
Request to Download PDF

Post A Comment: