Automated testing
Main article: Test automation
Many programming groups are relying more and more on automated testing, especially groups that use test-driven development. There are many frameworks to write tests in, and continuous integration software will run tests automatically every time code is checked into a version control system.
While automation cannot reproduce everything that a human can do (and all the ways they think of doing it), it can be very useful for regression testing. However, it does require a well-developed test suite of testing scripts in order to be truly useful.
Testing tools
Program testing and fault detection can be aided significantly by testing tools and debuggers. Testing/debug tools include features such as:
· Program monitors, permitting full or partial monitoring of program code including:
· Instruction set simulator, permitting complete instruction-level monitoring and trace facilities
· Program animation, permitting step-by-step execution and conditional breakpoint at source level or in machine code
· Code coverage reports
· Formatted dump or symbolic debugging, tools allowing inspection of program variables on error or at chosen points
· Automated functional GUI testing tools are used to repeat system-level tests through the GUI
· Benchmarks, allowing run-time performance comparisons to be made
· Performance analysis (or profiling tools) that can help to highlight hot spots and resource usage
Some of these features may be incorporated into an Integrated Development Environment (IDE).
· A regression testing technique is to have a standard set of tests, which cover existing functionality that results in persistent tabular data, and to compare pre-change data to post-change data, where there should not be differences, using a tool like diffkit. Differences detected indicate unexpected functionality changes or "regression".
Comments
Post a Comment