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 to produce a quality of a product. While the software testing, is the process of ensuring the final product and check the functionality of final product and to see whether the final product meets the user’s requirement.
2) What is Testware?
Testware is the subset of software, which helps in performing the testing of application. It is a term given to the combination of software application and utilities which is required for testing a software package.
3) What is the difference between build and release?
Build: It is a number given to Installable software that is given to testing team by the development team.
Release: It is a number given to Installable software that is handed over to customer by the tester or developer.
4) What are the automation challenges that QA team faces while testing?
- Exploitation of automation tool
- Frequency of use of test case
- Reusability of Automation script
- Adaptability of test case for automation
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 missed by the testing team to detect, while testing the software.
QA Interview Questions
6) What is data driven testing?
Data driven testing is an automation testing part, which tests the output or input values. These values are read directly from the data files. The data files may include csv files, excel files, data pools and many more. It is performed when the values are changing by the time.
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 and 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 it is happen so that, 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 assigned 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 changed to FIXED at the end the tester will give CLOSED status if it passes the final test.
The test strategy includes 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
The testing of all the branches of the application, 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 in 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
Agile testing is software testing, which involves the testing of the software from the customer point of view. The importance of this testing is that, unlike normal testing process, this testing does not wait for development team to complete the coding first and then doing testing. The coding and testing both goes simultaneously. It requires continuous customer interaction.
It works on SDLC ( Systems Development Life Cycle) methodologies, it means that the task is divided into different segments and compiled at the end of the task.
13) What is Test case?
Test case is a specific term that is used to test a specific element. 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
The systematic and independent examination for determining the quality of activities is known as quality audit. It allows the cross check for the planned arrangements, whether they are properly implemented or not.
16) How does a server or client environment affect software testing?
As the dependencies on the clients are more, the client or server applications are complex.
The testing needs are extensive as servers, communications and hardware are interdependent. Integration and system testing is also for a limited period of time.
17) What are the tools used by a tester while testing?
- YSlow for FireBug
- Web Developer toolbar for firebox
- 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.
- 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
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 testing is another name for Black Box testing. CRUD stands for Create, Read, Update and Delete.
22) What is validation and verification in software testing?
In verification, all the key aspects of software developments are taken in concern like code, specifications, requirements and document plans. Verification is done on the basis of four things list of issues, checklist, walkthroughs and inspection meetings. Following verification, validation is done, it involves actual testing, and all the verification aspects are checked thoroughly in validation.
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.
) What is data-base testing? Data base testing is segmented into four different categories.
- Testing of Data Integrity
- Testing of Data Validity
- Data base related performance
- Testing of functions, procedure and triggers
Normally, the things that we check in database testing are:
- Constraint Check
- Validation of a Field size
- Stored procedure
- Matching application field size to database
- Indexes for performance based issues
In a data-table, to test the multi numbers of data, data-driven test is used. By using this it can easily replace the parameters at the same time from different locations.
4) What are joins and mention different types of joins?
Join is used to display two or more than two table and the types of joins are:
- Natural Join
- Inner Join
- Outer Join
- Cross Join
- Left outer join
- Right outer join
Indexes are database objects and they are created on columns. To fetch data quickly they are frequently accessed. Different types of indexes are:
- B-Tree index
- Bitmap index
- Clustered index
- Covering index
- Non-unique index
- Unique index
6) While testing stored procedures what are the steps does a tester takes?
The tester will check the standard format of the stored procedures and also it checks the fields are correct like updates, joins, indexes, deletions as mentioned in the stored procedure.
7) How would you know for database testing, whether trigger is fired or not?
On querying the common audit log you would know, whether, a trigger is fired or not. It is in audit log where you can see the triggers fired.
8) In data base testing, what are the steps to test data loading?
Following steps need to follow to test data loading
- Source data should be known
- Target data should be known
- Compatibility of source and target should be checked
- In SQL Enterprise manager, run the DTS package after opening the corresponding DTS package
- You have to compare the columns of target and data source
- Number of rows of target and source should be checked
- After updating data in the source, check whether the changes appears in the target or not.
- Check NULLs and junk characters
By writing scripting procedure in VBScript, we can connect to database and can test the queries and database.
10) Explain how to use SQL queries in QTP ?
In QTP using output database check point and database check, you have to select the SQL manual queries option. After selecting the manual queries option, enter the “select” queries to fetch the data in the database and then compare the expected and actual.
11) What is the way of writing testcases for database testing?
Writing a testcases is like functional testing. First you have to know the functional requirement of the application. Then you have to decide the parameters for writing testcases like
- Objective: Write the objective that you would like to test
- Input method: Write the method of action or input you want to execute
- Expected: how it should appear in the database
The statements like SELECT, INSERT, UPDATE, DELETE are used to manipulate the table, while ALTER TABLE, CREATE TABLE and DELETE TABLE are used to manage table.
13) How to test database procedures and triggers?
To test database procedures and triggers, input and output parameters must be known. EXEC statement can be used to run the procedure and examine the behaviour of the tables.
- Open the database project in solution explorer
- Now in View menu, click the database schema
- Open the project folder from schema View menu
- Right click on the object that has to be tested, and then click on the dialog box that says Create Unit Tests
- After that create a new language test project
- Select either a) Insert the unit test or b) Create a new test and then click OK
- Project that has to be configured will be done by clicking on the Project Configuration dialog box.
- Once it configured click on OK
To write a testcases from requirements, you need to analyse the requirements thoroughly in terms of functionality. Thereafter you think about the appropriate testcases design techniques like Equivalence partitioning, Black box design, Cause effect graphing etc. for writing the testcases.
Yes, the requirements represent exact functionality of AUT.
15) What is DBMS?
DBMS stand for Database management system, there are different types of DBMS
- Network Model
- Hierarchical Model
- Relational Model
DML stands for Data Manipulation Language, It is used to manage data with schema objects. It is a subset of SQL.
17) What are DCL commands? What are the two types of commands used by DCL?
DCL stands for Data Control Language, it is used to control data.
The two types of DCL Commands are:
Grant: By using this command user can access privilege to database
Revoke: By using this command user cannot access the database
18) What is white box testing and black box testing?
Black box testing means testing the software for the outputs on giving particular inputs. This testing is usually performed to see if the software meets the user’s requirements. There is no specific functional output expected for running this test.
The white box testing is done to check the accuracy of code and logic of the program. This testing is done by the programmer who knows the logical flow of the system.
19) How does QTP evaluate test results?
Once the testing is done, QTP will generate a report. This report will show the checkpoints, system message and error that were detected while testing. The test results window will show any mismatches encountered at the checkpoints.
20) Explain the QTP testing process?
- QTP testing process is based on following steps:
- Creating GUI (Graphical User Interface) Map files : Identifies the GUI object which has to be tested
- Creating test scripts: Test scripts are recorded
- Debug tests: Test should be debugged
- Run tests: Testcases should be run.
- View results: The results reflects the success or failure of the tests
- Report detects: If the test is failed, the reasons will be recorded in the report detect file
To measure the system response, load testing is done. If the load exceeds the users pattern it is known as stress testing. Examples of load testing are downloading the set of large files, executing multiple applications on a single computer, subjecting a server to large number of e-mails and allotting many tasks to a printer one after another.
22) How to test database manually?
Testing the database manually involves checking the data at the back end and to see whether the addition of data in front end is affecting the back end or not, and same for delete, update, insert etc.
23) What RDBMS stands for and what are the important RDMBS that SQL use?
RDBMS stands for Relational Database Management Systems that use SQL, and the important RDBMS that SQL uses are Sybase, Oracle, Access ,Ingres, Microsoft SQL server etc.
24) What is performance testing and what are the bottlenecks of performance testing?
Performance testing determines the speed of the computer system performance. It includes the quantitative tests like response time measurement. The problem in performance testing is that you always need a well-trained and experienced man power also the tools you use are expensive.
25) What is DDL and what are their commands?
To define database structure, DDL is used. DDL stands for Data Definition Language. The various DDL commands include Create, Truncate, Drop, Alter, Comment and Rename.
What is the difference between Functional and Non-functional testing?
Functional Testing covers:
• Unit Testing
• Smoke testing / Sanity testing
• Integration Testing (Top Down, Bottom up Testing)
• Interface & Usability Testing
• System Testing
• Regression Testing
• Pre User Acceptance Testing(Alpha & Beta)
• User Acceptance Testing
• White Box & Black Box Testing
• Globalization & Localization Testing
Non-Functional Testing covers:
• Load and Performance Testing
• Ergonomics Testing
• Stress & Volume Testing
• Compatibility & Migration Testing
• Data Conversion Testing
• Security / Penetration Testing
• Operational Readiness Testing
• Installation Testing
• Security Testing (Application Security, Network Security, System Security)
According to me
Functional Testing:Functional testing is what a system is supposed to do?
Non-Functional Testing means How a system is supposed to do?
I will give an example regarding both functional and non-functional testing.Suppose you send an email to an user .Here the functional testing is to check the email is going to the proper email tht you have specified or not.But the non-functional testing is to how the system send the email to the specified address,what are the protocols used to send an email..
I think you will get a fair idea about functional and non-functional testing.
Software testing Phases:
Software testing has various different phases such as
1) Test plan
2) Testing Requirement
3) Testing Design
4) Test Execution
5) Test Reporting
he Testing phases are as follows:
1. Requirements Analysis
2. Test Designing
3. Test Planing
4. Test Development
5. Test Execution
6. Test Reporting
7. Test Result Analysis
8. Defect Retesting
9. Regression Testing
10. Test Closure
The Testing phases are as follows:
1. Requirements Analysis
2. Test Case Designing
3. Test Planing
4. Test Development
5. Test Execution
6. Test Reporting
7. Test Result Analysis
8. Defect clustering
9. Regression Testing
11. Test Closure Activities
Testing is a process that involves many activities. These activities can be grouped into following step:
Test planing and control.
Analysis and design.
Implementation and Execution
Evaluating Exit Criteria and Reporting.
Tips on Localization Testing
Do you know:
A little care at pre release stage of a localized Software product can save precious dollars !!
Software Localization Services is as important as software development. We at QA InfoTech understand that Testing software in a particular language necessarily entails providing all inputs in that language. By entering data in localized characters, a tester cleanses the process to a great extent and ensures the end user doesn’t waste time over possible errors.
At QA InfoTech, we have ample experience of localized testing of software. We have a partnership with universities and experienced linguists who help us understand the subtle differences in the languages and cultures.
- Our Globalization experts analyze the product code to establish its existing internationalization level and validated by our testing experts who run manual or script based tests as well.
- Our aim is to validate products so that they offer proper functionality across different languages. Proper functionality ensures that the internal design of the product is such that it performs the same functions regardless of international environment settings or cultures/locales and the correct representation of data.
- Expertise on Localization Testing of bi-directional languages.
Our functional and cosmetic checks ensure that the product is validated and verified in the local language and issues if any are successfully regressed. For more info, please visit:
Localization is the process of adapting a globalized application to a particular culture/locale. Localizing an application requires a basic understanding of the character sets typically used in modern software development and an understanding of the issues associated with them. Localization includes the translation of the application user interface and adapting graphics for a specific culture/locale. The localization process can also include translating any help content associated with the application.
Localization of business solutions requires that you implement the correct business processes and practices for a culture/locale. Differences in how cultures/locales conduct business are heavily shaped by governmental and regulatory requirements. Therefore, localization of business logic can be a massive task.
Localization testing checks how well the build has been translated into a particular target language. This test is based on the results of globalized testing where the functional support for that particular locale has already been verified. If the product is not globalized enough to support a given language, you probably will not try to localize it into that language in the first place.
Localization Testing in the software testing process for checking the localized version of a product (e.g., Japanese product for Japanese user). Localization Testing checks the quality of a localized version for a particular that culture/locale setting. Localization Testing is based on the results of Globalization Testing which verifies the functional support for that particular culture/locale setting. We should invite the local staff to help our localization testing by checking the quality of translation as well.