AccUnit

Unit Testing in VBA - Microsoft Access, Excel, …

Basics

From AccUnit
(Difference between revisions)
Jump to: navigation, search
 
(3 intermediate revisions not shown)
Line 2: Line 2:
Software testing means to determine whether the software meets the requirements.
Software testing means to determine whether the software meets the requirements.
-
Requirements in natural language, however, are not suitable as the basis of a test. ("Well, the thing must not crash" or "If I enter 100, then a particular result must be calculated").
+
Requirements in natural language, however, are not suitable as the basis of a test. ("Well, the thing must not crash" or "If I enter 100, a particular result must be calculated").
Moreover, it is not possible to precisely describe complex applications.
Moreover, it is not possible to precisely describe complex applications.
To test software, it is important to split the large complexity of an application into small testable fragments (= functions / procedures). These fragments should then perform exactly ONE task. You then describe:
To test software, it is important to split the large complexity of an application into small testable fragments (= functions / procedures). These fragments should then perform exactly ONE task. You then describe:
 +
 +
  - which fragment ( Module, Class, Function, Sub ) do I test
 +
  - which input value( preconditions ) do I need
 +
  - which output value ( postconditions ) do I expect
 +
 +
It may be necessary to revise existing sourcecode and split it into smaller testable parts.

Current revision as of 18:06, 23 May 2012

Software testing means to determine whether the software meets the requirements.

Requirements in natural language, however, are not suitable as the basis of a test. ("Well, the thing must not crash" or "If I enter 100, a particular result must be calculated").

Moreover, it is not possible to precisely describe complex applications.

To test software, it is important to split the large complexity of an application into small testable fragments (= functions / procedures). These fragments should then perform exactly ONE task. You then describe:

 - which fragment ( Module, Class, Function, Sub ) do I test
 - which input value( preconditions ) do I need
 - which output value ( postconditions ) do I expect

It may be necessary to revise existing sourcecode and split it into smaller testable parts.

Personal tools