The complexity of modern software packages make exhaustive testing difficult. Automated testing can help to improve efficiency of the testing process.

Slides:



Advertisements
Similar presentations
Testing Workflow Purpose
Advertisements

Test Yaodong Bi.
Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Software Testing and Quality Assurance Lecture 34 – Software Quality Assurance.
Testing HCI Usability Testing. Chronological order of testing Individual program units are built and tested (white-box testing / unit testing) Units are.
Software Testing for Safety- Critical Applications Presented by: Ciro Espinosa & Daniel Llauger.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
© 2014 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Lecturer: Dr. AJ Bieszczad Chapter 87-1 How does software fail? Wrong requirement: not what the customer wants Missing requirement Requirement impossible.
Software Process and Product Metrics
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Introduction to Software Testing
Types and Techniques of Software Testing
Introduction to Computer Technology
Students: Nadia Goshmir, Yulia Koretsky Supervisor: Shai Rozenrauch Industrial Project Advanced Tool for Automatic Testing Final Presentation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Software Faults and Fault Injection Models --Raviteja Varanasi.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
BY: GARIMA GUPTA MCA FINAL YEAR WHAT IS SOFTWARE TESTING ? SOFTWARE TESTING IS THE PROCESS OF EXECUTING PROGRAMS OR SYSTEM WITH THE INTENT.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 23 Slide 1 Software testing Slightly adapted by Anders Børjesson.
Software Testing Content Essence Terminology Classification –Unit, System … –BlackBox, WhiteBox Debugging IEEE Standards.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
CPIS 357 Software Quality & Testing
Software testing techniques 3. Software testing
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Understand Application Lifecycle Management
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Requirements Engineering: What, Why, Who, When, and How
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
ES Model development Dr. Ahmed Elfaig The ES attempts to predict results from available information, data and knowledge The model should be able to infer.
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 1 Slide Simulation Professor Ahmadi. 2 2 Slide Simulation Chapter Outline n Computer Simulation n Simulation Modeling n Random Variables and Pseudo-Random.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
ISBN Prentice-Hall, 2006 Chapter 8 Testing the Programs Copyright 2006 Pearson/Prentice Hall. All rights reserved.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Chapter 8 Testing the Programs. Integration Testing  Combine individual comp., into a working s/m.  Test strategy gives why & how comp., are combined.
Unified Software Practices v D Copyright  1998 Rational Software, all rights reserved 1 Practice 5: Verify Software Quality Control Changes Develop.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
7.4 Control Costs The process of monitoring the status of the project costs and managing changes to the cost baseline. Involves updating the project budget.
Regression Testing with its types
SOFTWARE TESTING OVERVIEW
Chapter 8 – Software Testing
Faults, Errors, Failures CS 4501 / 6501 Software Testing
DEFECT PREDICTION : USING MACHINE LEARNING
Software Verification and Validation
Software Verification and Validation
Metrics for process and Projects
Software Verification and Validation
Managing Project Work, Scope, Schedules, and Cost
Presentation transcript:

The 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 memory corruption are considered critical software bugs that meaningfully influence availability and security performances of the system

It 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.

Existing 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

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

The 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

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.

Lists of processes that have to be observed can be defined For 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 Memory Manager) can permit

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

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.