StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Unit Testing of Software - Essay Example

Cite this document
Summary
In the essay “Unit Testing of Software,” the author analyzes unit testing, a phase of software testing development that tests the individual components of a system or software. The purpose of unit testing is to authenticate that the performance of each software is as designed…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER94.7% of users find it useful
Unit Testing of Software
Read Text Preview

Extract of sample "Unit Testing of Software"

Unit Testing of Software Unit Testing Unit testing is a phase of software testing development that tests the individual components of a system or software. The purpose of unit testing is to authenticate that the performance of each software unit is as designed (Craig & Jaskiel, 2002). A unit is the smallest testable part of software that normally has one or a few inputs and a single output. A unit may be an individual function, program, or procedure in procedural programming. In object-oriented programming, a unit is a method that may belong to a derived class, base class or abstract class (Perry, 2006). Some experts treat modules of applications as units. However, this is inappropriate, as there would be many individual units within the module. Drivers, mock objects, stubs, and unit testing frameworks help in unit testing (Craig & Jaskiel, 2002). Benefits of Unit Testing Unit testing increases confidence in maintaining or changing code. Good unit tests also increase the detectability of defects that may arise when changing codes. The development of unit testing is faster. The test runs take very less time as there is no need of firing the GUI and providing all the inputs. Additionally, fixing defects detected during unit testing costs lesser than in higher levels of testing (Craig & Jaskiel, 2002). Debugging at this level is easy since only the latest changes need to be debugged contrary to higher levels where changes made over the span of several days or weeks may need to be debugged (Software Testing). Limitations of Unit Testing There are limits to the number of scenarios and test data that a developer can use to verify the source code. This means that after exhausting all options the developer has no choice but to merge the code segment with other units (Software Testing). Integration Testing Integration testing involves testing combined parts of an application to determine if they function correctly together. Integration testing is performed after unit testing and before system testing. Integration testing is necessary to identify faults in the interaction between integrated units. Test stubs and test drivers re useful in performing integration testing (Tutorials Point). Analogy When manufacturing a ballpoint pen, the body, the cap, the clip and tail, the ballpoint, and the ink cartridge are unit tested separately. When the units are ready, they are assembled and integration testing is performed. For instance, one would test whether the cap fits into the body (Tutorials Point). Method White box testing, black box testing, and gray box testing can be used to perform integration testing. Generally, the method depends on one’s definition of unit (Craig & Jaskiel, 2002). Approaches to Integration Testing Big Bang Big bang approach involves combining all or most of the units together and testing them together. This approach is applicable when the testing team receives the entire software in a bundle. Unlike system testing which tests the entire system, big bang integration tests only the interactions between units (Computer Testing). Top Down  Top down integration testing approach involves testing top-level units first before systematically testing of lower level units (Perry, 2006). This approach is applicable in cases where developers follow top down development approach. Test Stubs are essential to simulate lower level units (Computer Testing). Bottom Up Bottom up approach to integration testing involves testing bottom level units first before systematically testing of upper level units. This approach is suitable when following bottom up development approach (Perry, 2006). Test drivers are needed to simulate higher-level units (Computer Testing). Sandwich/Hybrid Approach The sandwich approach to integration testing involves combining bottom up and top down approaches (Computer Testing). In a comprehensive software development environment, bottom-up testing is usually done before top-down testing. The process ends with several tests of the complete application (Tutorials Point). System Testing Once all the components of a system are integrated, a test on the application is performed to verify if it meets quality standards. Special teams of experts perform system testing. System testing is performed after integration testing and before acceptance testing (Craig & Jaskiel, 2002). Analogy During the process of manufacturing a ballpoint pen, the body, the cap, the ballpoint, and the ink cartridge are produced and unit tested separately. Integration testing is performed when two or more units are readily assembled. System testing is performed after the complete pen is integrated. Normally, black box testing method is used to perform system testing (Tutorials Point). Importance of System Testing System testing is the first step in the software development life cycle that involves testing the application as a whole. The application is tested systematically to prove that it meets the technical and functional and specifications (Software Testing). Normally, the application is tested in an environment that is close to the production environment where the application will be set up. System testing helps experts in testing and validating the business requirements and the applications architecture (Perry, 2006). Acceptance Testing Acceptance testing is arguably the most important type of testing as it involves gauging whether the application meets the intended conditions and meets customers’ expectations. Acceptance testing is performed after system testing and before making the system available to end-users. The quality assurance team uses a set of test cases and pre-written scenarios to test the application. More tests are performed and ideas about the application shared to gauge its precision and justify the initiation of the project (Craig & Jaskiel, 2002). Acceptance tests are not only identifies interface gaps, cosmetic errors, and simple spelling mistakes but it also points out any bugs in the application that may result in errors in the applications or lead to system crashers. Acceptance testing helps in deducing how an application will perform in production. Moreover, there are contractual and legal requirements for acceptance of the system (Tutorials Point). Analogy During the process of manufacturing a ballpoint pen, the body, the cap, the ballpoint, and the ink cartridge are produced and unit tested separately. Integration testing is performed when two or more units are readily assembled. System testing is performed after the complete pen is integrated. Normally, black box testing method is used to perform system testing. Acceptance testing is performed on the completion of system testing to verify that the ballpoint pen is ready to be made available to the end-users (Tutorials Point). Normally, black box testing method is used in Acceptance testing, which may not follow a strict procedure and is ad-hoc rather than scripted (Perry, 2006). References Craig, R., & Jaskiel, S. (2002). Systematic Software Testing. Norwood: Artech House. Top of Form Bottom of Form Perry, W. (2006). Effective methods for software testing (3rd Ed.). Indianapolis, IN: Wiley. Top of Form Bottom of Form Software Testing Fundamentals. (n.d.). Retrieved December 29, 2014, from http://softwaretestingfundamentals.com Top of Form Bottom of Form Tutorials Point Simply Easy Learning. (n.d.). Retrieved December 29, 2014, from http://www.tutorialspoint.com/software_testing/levels_of_testing.htm Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“Unit Testing of Software Essay Example | Topics and Well Written Essays - 1000 words”, n.d.)
Retrieved from https://studentshare.org/logic-programming/1673127-define-the-following-four-levels-of-testing-for-software-development-1-unit-testing-2-integration-testing-3-systems-testing-and-acceptance-testing
(Unit Testing of Software Essay Example | Topics and Well Written Essays - 1000 Words)
https://studentshare.org/logic-programming/1673127-define-the-following-four-levels-of-testing-for-software-development-1-unit-testing-2-integration-testing-3-systems-testing-and-acceptance-testing.
“Unit Testing of Software Essay Example | Topics and Well Written Essays - 1000 Words”, n.d. https://studentshare.org/logic-programming/1673127-define-the-following-four-levels-of-testing-for-software-development-1-unit-testing-2-integration-testing-3-systems-testing-and-acceptance-testing.
  • Cited: 0 times

CHECK THESE SAMPLES OF Unit Testing of Software

Testing

Software testing can also give an objective, sovereign view of the software to permit the business to understand and acknowledge the risks of software realization.... These premeditated procedures and requirements bring about the idea of software testing, Validation and Verification It is different from software quality assurance, which incorporates reviews of the quality management system alongside a standard.... Testing (software) is an analysis carried out to present stakeholders with facts concerning the quality of the product or service under investigation (Ammann & Offutt, 2008)....
8 Pages (2000 words) Research Paper

Stubs and Drivers in Automated Software Testing

To begin with, the state of many operating environments of software systems is such that any vulnerability is likely to attract exploits (Paul, 2012).... This paper "Stubs and Drivers in Automated software Testing" focuses on software processes.... The testing phase that provides the software testers with an opportune time to evade moments of catastrophic system failure, huge failure-based loss, interference with the working relationship....
8 Pages (2000 words) Assignment

Software Testing: Pennywise National Bank

Review of software requirements is not considered as testing.... Through its investigation, the business form will be able to appreciate and understand all the risks associated with the software.... In general, the tests… e validation of if the software meets the required design, it works as expected and can be implemented owing the same original characteristics besides satisfying the users' needs.... Owing that video game software is different from banking software; each software should be tested We are dealing with the banking system from Pennywise National Bank....
5 Pages (1250 words) Research Paper

Designing Integration Tests, Integration Strategies for Procedures and Functions

Integration testing has been seen to eliminate errors that would not be seen during unit testing.... unit testing is done independently on each component of a system before integration to ensure they contain no bugs and function within the requirements.... hellip; The software needs testing either testing throughout its lifecycle or at the end of the whole process.... Testing is done to establish errors and improvements that need to be done to the software....
6 Pages (1500 words) Essay

Aerospace Material and Component Testing Techniques

This assignment "Aerospace Material and Component Testing Techniques" focuses on an approach of testing that aims towards empirical testing of the usability of the component of interaction.... hellip; Impact testing involves the testing of the ability of an object to offer resistance to a high-rate loading.... Component testing is divided into hardness testing, Tensile testing and Impact testing....
8 Pages (2000 words) Assignment

Testing Software and How It Is Controlled

It can also give an objective view of the software to understand the risks of software realization.... These premeditated procedures and requirements bring about the idea of software testing, Validation and Verification It is different from software quality assurance, which incorporates reviews of the quality management system alongside a standard.... This coursework "Testing software and How It Is Controlled" focuses on an analysis carried out to present stakeholders with facts concerning the quality of the product or service under investigation....
9 Pages (2250 words) Coursework

The Development of a New Password Reset Process

In regards to these, this document shall seek to address the various standards that will to the integration and system testing of the identified application.... Throughout the process of testing the application, the team shall apply the test documentation specifications that have been described in the IEEE Standard 829 – 1983 concerning software Test Documentation.... Being a high-level overview document, this test plan shall seek to define the testing plan for the MU Portal application, particularly the New Password Reset Process....
18 Pages (4500 words) Case Study

Higher-Order Testing: Principles and Practices

Errors in software are bugs that make the application, as well as system program, works poorly than it is expected to.... This essay "Higher-Order testing: Principles and Practices" sheds some light on testing that is important in ensuring that the system does what was intended to do.... Without proper testing, the result will be system failure and huge losses will be incurred.... hellip; Higher-order testing is done after module-testing has been successfully done....
7 Pages (1750 words) Essay
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us