...
- The current tracks allow for rolling stock to travel at up to 160mph
- The maximum rolling stack length is 12 x 23.9m
- The maximum tonnage of the tracks predefined can carry at low and high speed must be defined by the rail standards authority
- The tracks, clips and bolts are of a specific tensile strength
- The switching circuitry operates at the specific capacity
Target state for tracks
- The current new tracks must allow for rolling stock to travel at up to 220mph
- Rolling stock will tilt at high speed through bends
- The maximum rolling stack length is 12 x 23.9m
- The maximum tonnage of the tracks predefined can carry at low and high speed must be newly defined by the rail standards authority
- The tracks, clips and bolts are of a specific tensile strength to cope with the higher speed rolling stock
- The switching circuitry operates at the specific capacity
In order to ensure that the new rolling stock can traverse over the new tracks at the new desired speed, each element (component) must be verified as being able to carry the rolling stock at the new desired speed. In other words each element making up the track system must be separately unit tested to verify their individual quality. Once the components have been assembled into a complete track system, a series of integration/system level tests must be executed to verify that the rolling stock can actually get to their destinations within a specified set of requirements. So from a software perspective unit level testing with tools like JUnit/NUnit verify the quality of the components in a system, and tools like fitnesse FitNesse verify that the system is built according the requirements (user acceptance testing), in other words you have built what I asked for (more of an end to end testing strategy).
...
What is different is the incremental iterative approach to building out the landscape. Also, in the structured model, you would attempt to define all the input and output values before any coding could be done. Not so with TDD. Instead, everything is done incrementally and iteratively. Even the identification of the tests.
Is it possible to perform unit testing with tools like
...
FitNesse?
Yes it is but why would you? You would actually be using the wrong tool for the particular job. It would be like using a hammer to put a screw in the wall. Yes it would work and the results would be the same, but the approach at that level of development would be cumbersome.