What is CAST-Computer Aided Software Testing?

    Spread the love
    • 1

    CAST-Computer Aided Software Testing
    CAST-Computer Aided Software Testing

    What is CAST-Computer Aided Software Testing:

    CAST is Computer Aided Software Testing . During early days of testing we used to use only manual way of testing. It was tedious,time consuming and error prone. We could only check the bare minimum functionality check with traditional manual testing. All non functional testing were not taken into considerations. The delivery process was very much unrealistic.This approach made software unreliable. With the advancement from water fall to agile to extreme development QA becomes an integrated part of Development. QA not only has to test a piece of code functionally but also they have to look for requirement bugs or requirement update. Since the deliver -release to market become faster , QA needs to adopt other upgraded tool to aid their testing. CAST is a set of such tools that can help digital QA to achieve more with less.
    As the latest trend is DevOps, these tools become an integrated part of Development and Operations. In this post we are going to see how and what are the areas where we can attach a CAST tool.

    The utility of CAST: 

    • Requirements testing tools
    • Static analysis tools
    • Test design tools
    • Test data preparation tools
    • Test running tools – character-based, GUI
    • Comparison tools
    • Test harnesses and drivers
    • Performance test tools
    • Dynamic analysis tools
    • Debugging tools
    • Test management tools
    • Coverage measurement

    Test design tools generate test inputs or executable tests from requirements, from a graphical user interface, from design models (state, data or object) or from code. This type of tool may generate expected outcomes as well (i.e. may use a test oracle). The generated tests from a state or object model are useful for verifying the implementation of the model in the software, but are seldom sufficient for verifying all aspects of the software or system. They can save valuable time and
    provide increased thoroughness of testing because of the completeness of the tests that the tool can generate.

    CAST tool
    CAST tool

    Other tools in this category can aid in supporting the generation of tests by providing structured templates, sometimes called a test frame, that generate tests or test stubs, and thus speed up the test design process.

    Test data preparation tools

    The below things can be done using CAST:

    1. Data manipulation
    2. selected from existing databases or files
    3. created according to some rules
    4. edited from other sources
    5. Test data preparation tools manipulate databases, files or data transmissions to set up test data to be used during the execution of tests. A benefit of these tools is to ensure that live data transferred to a test environment is made anonymous, for data protection.

    Requirement Management tool:

    The below things can be done using CAST:
    1. Automated support for verification and validation of requirements models
    2. consistency checking
    3. animation

    Static analysis tools

    The below things can be done using CAST:
    1. Provide information about the quality of software
    2. Code is examined, not executed
    3. Objective measures
    4. cyclomatic complexity
    5. others: nesting levels, size

    Test design tools:

    The below things can be done using CAST:
    1. Generate test inputs
    2. from a formal specification or CASE repository
    3. from code (e.g. code not covered yet)

    Execution Tool:

    The below things can be done using CAST:
    Test execution tools enable tests to be executed automatically, or semi-automatically, using stored inputs and expected outcomes, through the use of a scripting language. The scripting language makes it possible to manipulate the tests with limited effort, for example, to repeat the test with different data or to test a different part of the system with similar steps. Generally these tools include dynamic comparison features and provide a test log for each test run.Test execution tools can also be used to record tests, when they may be referred to as capture
    playback tools. Capturing test inputs during exploratory testing or unscripted testing can be useful in order to reproduce and/or document a test, for example, if a failure occurs.
    1. Interface to the software being tested
    2. Run tests as though run by a human tester
    3. Test scripts in a programmable language
    4. Data, test inputs and expected results held in test repositories
    5. Most often used to automate regression testing

    Character-based Testing:

    The below things can be done using CAST:
    1. simulates user interaction from dumb terminals
    2. capture keystrokes and screen responses
    3. GUI (Graphical User Interface)
    4. simulates user interaction for WIMP applications (Windows, Icons, Mouse, Pointer)
    5. capture mouse movement, button clicks, and keyboard inputs
    6. capture screens, bitmaps, characters, object states

    Comparison Tools:

    The below things can be done using CAST:
    1. Detect differences between actual test results and expected results
    2. screens, characters, bitmaps
    3. masking and filtering
    4. Test running tools normally include comparison capability
    5. Stand-alone comparison tools for files or databases

    Test harnesses and drivers creation:

    The below things can be done using CAST:
    1. Used to exercise software which does not have a user interface (yet)
    2. Used to run groups of automated tests or comparisons
    3. Often custom-build
    4. Simulators (where testing in real environment would be too costly or dangerous)

    Performance testing tools

    Performance testing tools monitor and report on how a system behaves under a variety of simulated usage conditions. They simulate a load on an application, a database, or a system environment,such as a network or server. The tools are often named after the aspect of performance that they measure, such as load or stress, so are also known as load testing tools or stress testing tools. They are often based on automated repetitive execution of tests, controlled by parameters.

    The below things can be done using CAST:

    1. Load generation
    2. drive application via user interface or test harness
    3. simulates realistic load on the system & logs the number of transactions
    4. Transaction measurement
    5. response times for selected transactions via user interface
    6. Reports based on logs, graphs of load versus response times

    Dynamic analysis tools

    The below things can be done using CAST:
    1. Provide run-time information on software (while tests are run)
    2. allocation, use and de-allocation of resources, e.g. memory leaks
    3. flag unassigned pointers or pointer arithmetic faults

    Debugging tools

    The below things can be done using CAST:

    1. Used by programmers when investigating, fixing and testing faults
    2. Used to reproduce faults and examine program execution in detail
    3. single-stepping
    4. breakpoints or watchpoints at any statement
    5. examine contents of variables and other data

    Test management tools

    The below things can be done using CAST:
    1. Management of testware: test plans, specifications, results
    2. Project management of the test process, e.g. estimation, schedule tests, log results
    3. Incident management tools (may include workflow facilities to track allocation, correction and retesting)
    4. Traceability (of tests to requirements, designs)
    Don't miss out!
    Subscribe To Newsletter

    Receive top technical news, lesson ideas, travel tips and more!

    Invalid email address
    Give it a try. You can unsubscribe at any time.

    Spread the love
    • 1


    Please enter your comment!
    Please enter your name here