Automated Unit Testing for SAS ® Applications
David A. Scocca
Abstract
David A. Scocca
Abstract
As your software application grows larger and more complex, so do your testing requirements. Unfortunately the complexity of that testing grows even more rapidly than the scope of your application. Incorporating low-level unit testing into the development process can help ease your pain. A system of automated unit testing and test-driven development allows you to continually test new code as you write it, to easily check interactions between new or modified code and the rest of your application, and to produce a robust and well-tested product for your customer. SCLUnit is a SAS/AF ® implementation of the JUnit testing framework for Java development which supports the development and automation of unit tests for a SAS application developed using the SAS Component Object Model (SCOM). The process of test development in SCLUnit illustrates general application development and testing principles which can be applied to applications written with other SAS products or in other development environments. UNIT TESTING Unit testing is the developer’s testing, built around the underlying architecture of the application rather than the user interface, and distinct from the formalized and scripted user testing that is performed on the finished application. The unit tests focus on the parts of the application rather than the whole; unit tests are run during and throughout the development cycle and are not restricted to a separate testing phase (although a complete run of unit tests can also be part of a validation process). DEFINITIONS A unit is the lowest level at which you can reasonably test your code. In an object-oriented application written in SAS/AF or Java, this will often be a single class; in an application built in Base SAS
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
As your software application grows larger and more complex, so do your testing requirements. Unfortunately the complexity of that testing grows even more rapidly than the scope of your application. Incorporating low-level unit testing into the development process can help ease your pain. A system of automated unit testing and test-driven development allows you to continually test new code as you write it, to easily check interactions between new or modified code and the rest of your application, and to produce a robust and well-tested product for your customer. SCLUnit is a SAS/AF ® implementation of the JUnit testing framework for Java development which supports the development and automation of unit tests for a SAS application developed using the SAS Component Object Model (SCOM). The process of test development in SCLUnit illustrates general application development and testing principles which can be applied to applications written with other SAS products or in other development environments. UNIT TESTING Unit testing is the developer’s testing, built around the underlying architecture of the application rather than the user interface, and distinct from the formalized and scripted user testing that is performed on the finished application. The unit tests focus on the parts of the application rather than the whole; unit tests are run during and throughout the development cycle and are not restricted to a separate testing phase (although a complete run of unit tests can also be part of a validation process). DEFINITIONS A unit is the lowest level at which you can reasonably test your code. In an object-oriented application written in SAS/AF or Java, this will often be a single class; in an application built in Base SAS
Key concepts: Unit testing, Manual testing, Keyword-driven testing, Black-box testing, Integration testing, Non-regression testing, White-box testing, Computer science