the complexity of modern software packages make exhaustive testing difficult. automated testing can...
TRANSCRIPT
Automated Software Testing
Comp 587Babatunde Jelugbo
IntroductionThe complexity of modern software packages make exhaustive testing difficult.
Automated testing can help to improve efficiency of the testing process in order to identify areas of a program that are prone to failure.
It is important to remember that memory leaks and memorycorruption are considered critical software bugs that meaningfully influence availability and security performances of the system
Introduction - continuedIt has been estimated that efficient software testing involves more than 50% of software development in terms of cost and time.
Automated testing can be applied in large portions of many applications, with reduction of the workload on software testers
Automated software test reduces both time and cost of development without inducing failures different from the ones which we want to analyze.
Automated Testing MethodologyExisting software testing approach includes:• White-box approach• Black-box approach
The automated software testing approach can be classified as a black-box approach, where;
• Simultaneous evaluation of the occupied memory of the system during the execution of the automated tests• The software under test has to be verified with a
suitable studied set of inputs • Expected outputs are known only on the basis of
the functional specifications• Test sets well representative of the field behavior
of the system as shown below
Automated testing Approach
Input
Inputs
Inputs to this test approach are;
• Test parameters• Field data statistical distribution are inputs• Output from test results
Input is based on a dynamic pseudorandom generation which is a mix of the preliminary test parameters, output from test results, and the statistical distribution of field data
Process
ProcessThe activities of the software automation approach are;
• Test cases generation: creates unlimited sequences that can be iterated on the software under test
• Test cases execution: Iterates through sequence of generated test cases, executing them in sequence
• Input data elaboration: Generates expected result based on input data
• Memory occupied monitoring: is implemented by a flexible macro.
• Comparison: Compares the test result against expected result
Process
Process – Possible States
There is no differences between obtained and expected values the test is stopped
Differences occur between obtained and expected values , fault has to be tracked and the software has to come back to the development team in for analysis and correction;
Unclear values located, such as ambiguities that have to be solved manually by repeating ambiguous sequences.
Process – Occupied Memory Monitor
Lists of processes that have to be observed can be definedFor each of them the parameters to analyze, and observe also at a later date, are chosen. The potential memory overflow can be diagnosed through the following parameters:
• Private bytes: this parameter displays the number of bytes reserved exclusively for a specific process. If a memory leak occurs, this value will tend to rise steadily.
• Working set: represents the current size of the memory area used by the process for tails, threads, and date. The dimension of the working set grows and decreases as the VMM (Virtual MemoryManager) can permit
Process – Occupied Memory Monitor
Output
Output
Test results: Result generated by the test cases
Expected results : Results expected from a set of inputs
Final results: A result of comparison between the test result and expected result; a difference in result means the software has to come back to the development team in for analysis and correction
Mean time to Overflow (MTOF): The trend of memory filling is monitored; if the trends of chosen parameters increase we can deduce that a memory leak affects the software under test and mean time to overflow is estimated
Benefits of Automated Testing•Ability to stimulate the software under test with an established stress level
•Sequence operations to the real use but accelerated compared to the manual tests.
•Information concerning the memory leaks and fault regression of the new software versions with respect to the old one can be deduced.
Questions