Computer Aided Software Testing (CAST)

What is CAST?

It refers to the computing-based processes, techniques and tools for testing software applications. It can be performed by using a combination of hardware & software based tools and significant techniques. The major idea behind using CAST is to automate the process of testing and provide better services which cannot be achieved by manual testing which will take huge amount of time and resources.Generally, it is used to provide software testing solutions with different types of testing techniques or processes.

CAST Tools

CAST based load testing tools effectively evaluates the performance of software application by applying efforts of thousands of connected resources. The evaluation is delivered as statistical facts which can be easily understood by the tester.

There are various types of Computer Aided Software Testing tools that defines CAST and it's implementation:

  1. Requirement testing tools provide extensive support for verification and validation of the requirement models.
  2. Static analysis tools provide the ability to examine the code with software attributes.
  3. Test design tools, that generates test cases from specifications or sometimes it can be generated while doing analysis code.
  4. Test data preparation tools provide an approach of choosing a significant data from existing database from several number of tests. It can also deal with number of files and database formats.
  5. Character based testing tools provide the facility to capture the tests and replay when it is needed. This tool keeps the activity of number of keystrokes entered with respect to time for better analytical comparison.
  6. GUI testing tools uses the user-interface of the system, such as number of mouse clicks, keyboard activities, etc. It also includes a replay mode to analyze later.
  7. Test harnesses and drivers are used to examine and execute software application under test, which may not have appropriate interface. It can also run automated test scripts, which is handled by tester.
  8. Performance testing tools is used to handle two major processes; load generation and test transaction measurement. It produces system load & response time by using its interface.
  9. Dynamic analysis tools, which provides runtime information at the time of executing software. Normally, these tools are used in monitoring allocation and deallocation.
  10. Debugging tools are used by the programmers who investigate and reproduce bugs to find the state of program. It also finds the various causes of system failures.
  11. Comparison tools are used in the detection of actual and expected results. It also deal with files or databases. The tools are having the capabilities of filtering and masking for appropriate results.
  12. Test management tools have several capabilities but it has a major concern with creation, management and control of Test Management. This tool also concerns with the test process, incident management and traceability.
  13. Coverage management tools provide objective measures of test coverage at the time of executing tests. It also produces a statistical representation to analyze the exact test coverage.