Question :

Write about drivers and stubs.

Subject

Software Engineering

Standard

Computer Science Engineering

Views

579

Asked By

Knowledge

Dashboard
Answer / Solution

Drivers and stubs are two types of test harnesses that are used in software testing. A test harness is a collection of software and test data that is used to automate the testing of a software system.

Drivers and stubs are used in integration testing, which is a type of testing that is used to test the interaction between two or more modules of a software system. Drivers are used to control the flow of data between modules, and stubs are used to simulate the behavior of missing or unavailable modules.

Drivers are typically written in the same language as the modules that they are testing. They are responsible for calling the functions in the modules and passing them the appropriate data. Drivers also collect the results of the function calls and report them back to the test harness.

Stubs are typically written in the same language as the modules that they are simulating. They are responsible for receiving data from the drivers and returning the appropriate results. Stubs also simulate the side effects of the functions that they are representing.

Drivers and stubs are an important part of the software testing process. They allow testers to automate the testing of software systems and to focus on the functionality of the modules that they are testing.

Here are some of the benefits of using drivers and stubs in software testing:

  • Increased testability: Drivers and stubs make it easier to test software systems because they allow testers to isolate the modules that they are testing from the rest of the system. This makes it easier to identify and fix bugs in the modules.
  • Reduced testing time: Drivers and stubs can reduce the time it takes to test software systems because they allow testers to automate the testing process. This can free up testers to focus on other tasks, such as designing and writing new tests.
  • Improved quality: Drivers and stubs can help to improve the quality of software systems by helping to identify and fix bugs early in the development process. This can save time and money in the long run.

If you are a software tester, you should consider using drivers and stubs in your testing process. They are a valuable tool that can help you to improve the quality of your software systems.

Kirti
Answer / Solution

Drivers and stubs are two types of test harnesses that are used in software testing. A test harness is a collection of software and test data that is used to test a unit of software. Drivers and stubs are used to simulate the behavior of other units of software that are not yet complete or are not available for testing.

Drivers

A driver is a test harness that is used to call a unit of software. Drivers are typically used in bottom-up integration testing, which is a type of software testing in which the lowest level modules are tested first and then combined to form higher level modules. Drivers provide the input data for the unit of software and then check the output data to make sure that it is correct.

Stubs

A stub is a test harness that is used to simulate the behavior of another unit of software. Stubs are typically used in top-down integration testing, which is a type of software testing in which the highest level modules are tested first and then combined to form lower level modules. Stubs provide the expected input data for the unit of software and then check the output data to make sure that it is correct.

Advantages of Drivers and Stubs

Drivers and stubs have a number of advantages, including:

  • They allow units of software to be tested in isolation. This can help to identify errors in the unit of software early in the development process, when they are easier to fix.
  • They can help to improve the efficiency of the testing process. By simulating the behavior of other units of software, drivers and stubs can reduce the need to test those units of software separately.
  • They can help to improve the quality of the software. By identifying errors early in the development process, drivers and stubs can help to prevent those errors from being released into the field.

Disadvantages of Drivers and Stubs

Drivers and stubs also have a number of disadvantages, including:

  • They can be time-consuming to create. Drivers and stubs must be created for each unit of software that is to be tested. This can be a time-consuming process, especially for large software systems.
  • They can be difficult to maintain. As the software system evolves, the drivers and stubs may need to be updated to reflect the changes in the system. This can be a difficult and time-consuming process.
  • They can introduce errors. Drivers and stubs are pieces of software, and as such, they can introduce errors into the testing process. This is a risk that must be weighed against the benefits of using drivers and stubs.

Overall, drivers and stubs are a valuable tool for software testing. They can help to identify errors early in the development process, improve the efficiency of the testing process, and improve the quality of the software. However, they also have some disadvantages, such as the time and effort required to create and maintain them.


Top Trending Questions


Recent Question Update

What is a DVDROM? What is its typical capacity?
What is the Objective of Formal Technical Reviews?
Write short note on the various estimation techniques.
What are the conditions exists after performing validation testing?
What are the metrics computed during error tracking activity?
What are the various types of system testing? Explain the types of software testing.
Distinguish between alpha and beta testing.
What are the various elements of data design?
List the process maturity levels in SEIs CMM.
What is cyclometric complexity?
What is EVA in software engineering?
What are the advantages and disadvantages of size measure?
What are the reasons behind to perform white box testing?
List the guidelines for data design. Name the commonly used architectural styles.
Explain about rapid prototyping techniques.
What are the umbrella activities of a software process?
What are the Difficulties in Elicitation?
Name the Evolutionary process Models
Explain the prototyping approaches in software process.
What are the types of software maintenance? What is architectural evolution?
What is software maintenance?
Why software change occurs?
What are the various testing strategies for conventional software?
What are the Requirements Engineering Process Functions?
What is System Engineering?
What are the fundamental activities of a software process?
What is the use of User Interface prototyping?
What are the various types of traceability in software engineering?
What does Verification represent?
What does Validation represent?
What is the difference between the “Known Risks” and "Predictable Risks”?
What are the elements of Analysis model? What are the elements of design model?
What are the two levels of testing?
Write about software change strategies.
Explain about the software testing strategies.
What are the approaches of integration testing?
How to compute the cyclomatic complexity?
How the CASE tools are classified. Explain about software cost estimation.
What is the purpose of timeline chart?
What are the benefits of smoke testing?
What is equivalence partitioning?
What are the various testing activities?
What is cardinality in data modeling?
What are the various Rapid prototyping techniques?
Explain about the incremental model.
What are the challenges in software?
Explain Spiral model and win-win spiral model in detail?
What is data modeling?. What is a data object?
Define software prototyping.
What is requirement engineering?
Define the computer based system.
Explain in detail about the software process.
Explain in detail about the life cycle process.
What is coupling? What are the various types of coupling?
What are the objectives of Analysis modeling?
What are the benefits of horizontal partitioning?.What is vertical partitioning?
Define design process. List the principles of a software design.
What are the characteristics of SRS?
What are the benefits of prototyping?
What are the Objectives of Requirement Analysis?
What does Level0 DFD represent?
What are the drawbacks of spiral model?
Write out the reasons for the Failure of Water Fall Model.
What is an effectors process?
List the task regions in the Spiral model.
What are the steps followed in testing?
What is System Modeling?
What is a cohesive module?
Explain in detail the design concepts. Explain the design principles.
What are the common activities in design process?
What is a state transition diagram?
What are the different types of Cohesion?
What is Regression Testing?
Define CASE Tools.
What are the advantages of vertical partitioning?
How the Architecture Design can be represented?
Explain in detail about Structural Modeling.
Explain in detail about Functional Modeling
Explain in detail about data modeling.
What is the benefit of modular design?
What is COCOMO model?.Give the procedure of the Delphi method.
Explain in detail about Black box testing.
What are the advantages and disadvantages of big-bang?
What is a boundary value analysis?
Define White Box Testing?
What are the advantages of evolutionary prototyping?
What is the difference between program and software?
What are the merits of incremental model?
What are the characteristics of the software?
What are the prototyping approaches in software process?
Define software process in details.
What is software engineering?
What is generalization? Give an example of generalization
What is cardinality? Give examples
Explain the steps involved in the prototyping
What are functional and non-functional requirements?
What is user acceptance testing? Explain different testings in user acceptance testing.
What is change management?
What is data conversion? Why is it necessary?
List and explain all the phases involved in the construction phase
List and explain different types of testing done during the testing phase. (
Explain all the phases involved in the implementation phase
What is the difference between SRS document and design document?
What is data modeling? Give 5 examples for data modeling.
What are the purposes of Entity-Relationship diagrams?
What are the purposes of Data Flow diagrams?
What is feasibility study?
What is Software Development Life Cycle?
Explain the different phases involved in waterfall life cycle.
Difference between Object Model Diagram and Class Diagram

Advantages Of NCERT, CBSE & State Boards Solutions For All Subjects

  • All the NCERT Solutions have been prepared by academic experts having 10+ years of teaching experience.
  • They have prepared all the solutions in simple and easy language so that each and every student can understand the concepts easily.
  • All the solutions have been explained step to step-wise in details with better explanations.
  • Students can also use these question and answers for your assignments and in homework help.
  • All the solutions have been explained in detail and the answers have been compiled in a step-wise manner.
  • All the questions and answers are commonly prepared according to the Latest Syllabus of Board Education and Guidelines.
  • Students can know about the various types of questions asked in the exams with the help of these solutions.

Top Course Categories