Next: Conclusions
Up: What is a software
Previous: Implementation
Subsections
Testing is used to determine whether or not a system conforms to its
specifications.
Consider the following invention in Testing/Process:
- Test first: write test cases that describe the functional behavior of
a system before any coding is done. During implementation, use the test
cases to check conformance with the intended system behavior.5
The state of the art consists of software engineering, in particular
specification and testing. The technical content is the idea to start with
test cases rather than to use them later in the life cycle. The inventive step
is this reordering of the life cycle. A person skilled in the art is a
software engineer. A typical infringement is a similar reordering of the life
cycle.
The actual description of this invention can be
protected by copyright. Since this invention is close to a business process, it
is not clear whether it can be protected by a patent.
Consider the following hypothetical invention in Testing/Deliverables:
- Produce a color-coded version of the source code, where green source code means
well-covered by test cases and red source code means that the code has not
been executed by the test cases.
The state of the art consists of software engineering, in particular
testing. The technical content is the idea to display test coverage as a
color-coded version of the source code. The inventive step the use of this
color-coding. A person skilled in the art is a tester. A typical infringement
is a testing system that uses color-coding for presenting test coverage.
The actual form of the color-coded source may be
protected by copyright. The idea itself can only be protected by a patent.
Next: Conclusions
Up: What is a software
Previous: Implementation
Paul Klint
2006-06-02