Software Testing Interview Questions & Answers



1.
Define software?

Software is a set of instructions used to acquire inputs and to manipulate them to produce the desired output in terms of functions and performance as determined by the user of the software.


2.
Define testing?

Testing is a process of executing a program with the intent of finding of an error.

3.
What are the types of software?

There are two types of software. There are
  • System Software
  • Application Software

4.
What is the difference between system and application software?

Computer software is often divided into two categories :
  • System software : This software includes the operating system and all utilities that enable the computer to function.
  • Application software : These consist of programs that do real work for users.

5.
Define process?

A process is a series of steps involving activities, constraints, and resources that produce an intended output of some kind.
6.
What is a Software Process?

A software process is the related set of activities and processes that are involved in developing and evolving a software system.

7.
What is the difference between verification and validation?

  • Verification is the process of determining whether the output of one phase of software development confirms to that of its previous phase.
  • Validation is the process of determining whether a fully developed system confirms to its requirement specifications.

8.
What are the types of maintenance?

There are four types of maintenance. There are
  • Corrective Maintenance
  • Adaptive Maintenance
  • Perfective Maintenance
  • Preventive Maintenance

9.
What is SQA?

Software Quality Assurance is a set of activities designed to evaluate the process by which software is developed and/or maintained.

10.
What is the difference between software engineering and system engineering?

  • System Engineering is concerned with all aspects of computer based systems development including hardware, software and process engineering.
  • System Engineering are involves in system specification architectural design intergration and deployment.
11.
What are the categories of defects?

There are three main categories of defects:
  • Wrong
  • Missing
  • Extra

12.
What are the types of Errors?

Errors can be classified into two categories :
  • Syntax Error
  • Logic Error

13.
What is the difference between syntax and logical errors?

  • Syntax Error : A syntax error is a program statement that violates one or more rules of the language in which it is written.
  • Logic Error : A logic error deals with incorrect data fields, out–of–range terms, and invalid combinations.

14.
What is fault?

A fault is a condition that causes a system to fail in performing its required function.

15.
What is failure?

Failure is the inability of the software to perform a required function to its specification.
16.
What is a bug?

A software bug may be defined as a coding error that causes an unexpected defect, fault, flaw, or imperfection in a computer program. In other words, if a program does not perform as intended, it is most likely a bug.

17.
What is test log?

A test log is used by the test team to record what occurred during test execution.

18.
What is the difference between static and dynamic testing?

  • Static testing : is performed using the software documentation. The code is not executing during static testing.
  • Dynamic testing : requires the code to be in an executable state to perform the tests.

19.
What is debugging?

Debugging is a process that developers go through to identify the cause of bugs or defects in code and undertake corrections.

20.
What is a maturity level?

A maturity level specifies the level of performance expected from an organization.
21.
Define Metrics?

The continuous application of measurement based techniques to the software development process and its products to supply meaningful and timely management information, together with the use of those techniques to improve that process and its products.

22.
What is the difference between system and real time software?

  • System Software : System software is a collection of programs used to run the system as an assistance to other software programs. The compliers, editors, utilities, operating system components, drivers, and interfaces are examples of system software. This software resides in the computer system and consumes its resources. A computer system without system software cannot function.
  • Real time Software : Real time software deals with a changing environment. First, it collects the input and converts it from analog to a digital, control component that responds to the external environment and performs the action.

23.
What is verification?

Verification ensures the product is designed to deliver all functionality to the customer; it typically involves reviews and meetings to evaluate documents, plans, code, requirements and specifications; this can be done with checklists, issues lists, walkthroughs and inspection meetings.

24.
What is meant by validation?

Validation ensures that functionality, as defined in requirements, is the intended behavior of the product; validation typically involves actual testing and takes place after verifications are completed.

25.
What is error tracking?

Error tracking is an activity that provides a means for assessing the status of a current project.
26.
What is white box testing?

White box testing is a test case design method that uses the control structure of the procedural design to derive test cases. It is otherwise called as structural testing.

27.
What is Black box testing?

Black box testing is a test case design method that focuses on the functional requirements of the software. It is otherwise called as functional testing.

28.
What is the difference between coupling and cohension?

  • Cohension is a measure of the relative functional strength of a module.
  • Coupling is a measure of the relative interdependence among modules.

29.
What is Software reliability?

Software reliability is defined as the probability of failure free operation of a computer program in a specified environment for a specified time.

30.
What are the categories of metrics?

There are three types of metrics are :
  • Product Metrics
  • Process Metrics
  • Project Metrics
31.
What is meant by unit testing?

Unit testing is the process of testing a particular complied program, i.e., a window, a report, an interface, etc. independently as a stand alone component/program. The types and degrees of unit tests can vary among modified and newly created programs. Unit testing is mostly performed by the programmers who are also responsible for the creation of the necessary unit test data.

32.
What are the categories of debugging?

The various categories for debugging are :
  • Brute force debugging
  • Backtracking
  • Cause elimination
  • Program slicing
  • Fault tree analysis

33.
What is incremental testing?

Incremental testing is partial testing of an incomplete product. The goal of incremental testing is to provide an early feedback to software developers.

34.
What is regression testing?

Regression testing is not a level of testing, but it is the retesting of software that occurs when changes are made to ensure that the new version of the software has retained the capabilities of the old version and that no new defects have been introduced due to the changes.

35.
What is the difference between black box and white 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.
  • White box testing is a testing strategy based on internal paths, code structures, and implementation of the software being tested. White box testing generally requires detailed programming skills.
36.
What are the characteristic of process?

Any process has the following characteristics:
  • The process prescribes all of the major process activities.
  • The process uses resources, subject to a set of constraints (such as a schedule), and produces intermediate and final products.
  • The process may be composed of sub processes that are linked in some way. The process may be defined as a hierarchy of processes, organized so that each sub process has its own process model.
  • Each process activity has entry and exit criteria, so that we know when the activity begins and ends.
  • The activities are organized in a sequence, so that it is clear when one activity is performed relative to the other activities.
  • Every process has a set of guiding principles that explain the goals of each activity.

37.
What are the advantages of waterfall model?

The various advantages of the waterfall model include:
  • It is a linear model.
  • It is a segmental model.
  • It is systematic and sequential.
  • It is a simple one.
  • It has proper documentation.

38.
What is RAD?

The RAD (Rapid Application Development Model) model is proposed when requirements and solutions can be modularized as independent system or software components, each of which can be developed by different teams. After these smaller system components are developed, they are integrated to produce the large software system solution.

39.
What is system integration testing?

Testing of software components that have been distributed across multiple platforms (e.g., client, web server, application server, and database server) to produce failures caused by system integration defects (i.e. defects involving distribution and back office integration).

40.
What are the types of attributes?

  • Simple Attribute
  • Composite Attribute
  • Single Valued Attribute
  • Multivalued Attribute
  • Derived Attribute
41.
What is acceptance testing?

Testing the system with the intent of confirming readiness of the product and customer acceptance. Also known as User Acceptance Testing.

42.
What are the types of system testing?

There are essentially three main kinds of system testing :
  • Alpha testing
  • Beta testing
  • Acceptance testing

43.
What is the difference between alpha, beta and acceptance testing?

  • Alpha Testing : Alpha testing refers to the system testing carried out by the test team within the development organization.
  • Beta Testing : Beta testing is the system testing performed by a selected group of friendly customers.
  • Acceptance Testing : Acceptance testing is the system testing performed by the customer to determine whether to accept or reject the delivery of the system.

44.
What are the advantages of black box testing?

The advantages of this type of testing include :
  • The test is unbiased because the designer and the tester are independent of each other.
  • The tester does not need knowledge of any specific programming languages.
  • The test is done from the point-of-view of the user, not the designer.
  • Test cases can be designed as soon as the specifications are complete.

45.
What are the advantages of white box testing?

The various advantages of white box testing include :
  • Forces test developer to reason carefully about implementation
  • Approximates the partitioning done by execution equivalence
  • Reveals errors in hidden code
46.
What is a test case?

A test case is a set of instructions designed to discover a particular type of error or defect in the software system by inducing a failure.

47.
What is a software review?

A software review can be defined as a filter for the software engineering process. The purpose of any review is to discover errors in the analysis, design, and coding, testing and implementation phases of the softwaredevelopment cycle. The other purpose of a review is to see whether procedures are applied uniformly and in a manageable manner.

48.
What are the types of reviews?

Reviews are one of two types : informal technical reviews and formal technical reviews.
  • Informal Technical Review : An informal meeting and informal desk checking.
  • Formal Technical Review : A formal software quality assurance activity through various approaches, such as structured walkthroughs, inspections, etc.

49.
What is data flow diagrams(DFD)?

Data Flow Diagrams (DFD) are also known as data flow graphs or bubble charts. A DFD serves the purpose of clarifying system requirements and identifying major transformations. DFDs show the flow of data through a system. It is an important modeling tool that allows us to picture a system as a network of functional processes.

50.
What is reverse engineering?

Reverse engineering is the process followed in order to find difficult, unknown, and hidden information about a software system. It is becoming important, since several software products lack proper documentation, and are highly unstructured, or their structure has degraded through a series of maintenance efforts. Maintenance activities cannot be performed without a complete understanding of the software system.