Overview Functional Testing Boundary Value Testing (BVT)

Slides:



Advertisements
Presentasi serupa
Design and Analysis of Algorithm Recursive Algorithm Analysis
Advertisements

Function.
2. Introduction to Algorithm and Programming
Testing dan Implementasi
Validitas & Reliabilitas
Validitas & Reliabilitas
Center of Young Scientists Mummy Method for Determination of 3D Irregular Body Surface Area Pasca Nadia Fitri, et. al. Pandapotan Harahap, M.Pd., M.P.Fis.
Pendahuluan Algoritma Pengolahan Paralel S1-TI Prepared by: MT Wilson.
1 DATA STRUCTURE “ STACK” SHINTA P STMIK MDP APRIL 2011.
ANALISIS INSTRUMEN PENELITIAN 1.UJI VALIDITAS 2.UJI RELIABILITAS.
Clustering. Definition Clustering is “the process of organizing objects into groups whose members are similar in some way”. A cluster is therefore a collection.
BLACK BOX TESTING.
Presented By : Group 2. A solution of an equation in two variables of the form. Ax + By = C and Ax + By + C = 0 A and B are not both zero, is an ordered.
Testing Implementasi Sistem Oleh :Rifiana Arief, SKom, MMSI
1 Diselesaikan Oleh KOMPUTER Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. ALGORITMA.
1 Pertemuan 09 Kebutuhan Sistem Matakuliah: T0234 / Sistem Informasi Geografis Tahun: 2005 Versi: 01/revisi 1.
1 Pertemuan 12 Pengkodean & Implementasi Matakuliah: T0234 / Sistem Informasi Geografis Tahun: 2005 Versi: 01/revisi 1.
1 Pertemuan 21 Function Matakuliah: M0086/Analisis dan Perancangan Sistem Informasi Tahun: 2005 Versi: 5.
1 Pertemuan 22 Analisis Studi Kasus 2 Matakuliah: H0204/ Rekayasa Sistem Komputer Tahun: 2005 Versi: v0 / Revisi 1.
PERTEMUAN KE-6 UNIFIED MODELLING LANGUAGE (UML) (Part 2)
HAMPIRAN NUMERIK SOLUSI PERSAMAAN NIRLANJAR Pertemuan 3
Verb Tense Tense denotes the time of the action indicated by a verb. The time is not always the same as that indicated by the name of the tense.
INDONESIA INFRASTRUCTURE INITIATIVE IURSP – Monitoring dan Evaluasi IURSP – Monitoring and Evaluation Workshop 3 Steve Brown VicRoads International Projects.
MULTIPLE REGRESSION ANALYSIS THE THREE VARIABLE MODEL: NOTATION AND ASSUMPTION 08/06/2015Ika Barokah S.
1 HAMPIRAN NUMERIK SOLUSI PERSAMAAN LANJAR Pertemuan 5 Matakuliah: K0342 / Metode Numerik I Tahun: 2006 TIK:Mahasiswa dapat meghitung nilai hampiran numerik.
1 Minggu 10, Pertemuan 20 Normalization (cont.) Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
1 Pertemuan 11 Function dari System Matakuliah: M0446/Analisa dan Perancangan Sistem Informasi Tahun: 2005 Versi: 0/0.
9.3 Geometric Sequences and Series. Objective To find specified terms and the common ratio in a geometric sequence. To find the partial sum of a geometric.
Chapter 10 – The Design of Feedback Control Systems PID Compensation Networks.
Smoothing. Basic Smoothing Models Moving average, weighted moving average, exponential smoothing Single and Double Smoothing First order exponential smoothing.
PERFORMANCE-BASED ASSESMENT DEFINITION CHARACTERISTIC S DESIGNING PERFORMANCE ASSESSMENT END TERM OF PERFORMANCE ASSESSMENT.
Jartel, Sukiswo Sukiswo
EKIVALENSI NILAI SEKARANG
STATISTIKA CHATPER 4 (Perhitungan Dispersi (Sebaran))
Pert. 16. Menyimak lingkungan IS/IT saat ini
KOMUNIKASI DATA Materi Pertemuan 3.
Induksi Matematika.
Rekayasa Perangkat Lunak Class Diagram
Technology And Engineering TECHNOLOGY AND ENGINERRING
Pengujian Hipotesis (I) Pertemuan 11
CLASS DIAGRAM.
BY EKA ANDRIANI NOVALIA RIZKANISA VELA DESTINA
Software Engineering Rekayasa Perangkat Lunak
the formula for the standard deviation:
Pertemuan <<18>> << Penemuan Fakta(01) >>
Pemrograman Berorientasi Objek
Kk ilo Associative entity.
THE EFFECT OF COOPERATIVE LEARNING TYPE JIGSAW PROBLEM SOLVING
Teknik Pengujian Software
Manajemen Proyek Perangkat Lunak (MPPL)
Master data Management
Pertemuan 4 CLASS DIAGRAM.
Ukuran Akurasi Model Deret Waktu Manajemen Informasi Kesehatan
How Can I Be A Driver of The Month as I Am Working for Uber?
Things You Need to Know Before Running on the Beach.
How to Pitch an Event
Don’t Forget to Avail the Timely Offers with Uber
Takes Rides for Never Ending Fun pacehire.co.uk. It’s still Time to Make Fun Before the Holidays pacehire.co.uk.
Suhandi Wiratama. Before I begin this presentation, I want to thank Mr. Abe first. He taught me many things about CorelDRAW. He also guided me when I.
Simultaneous Linear Equations
Lesson 2-1 Conditional Statements 1 Lesson 2-1 Conditional Statements.
HughesNet was founded in 1971 and it is headquartered in Germantown, Maryland. It is a provider of satellite-based communications services. Hughesnet.
If you are an user, then you know how spam affects your account. In this article, we tell you how you can control spam’s in your ZOHO.
By Yulius Suprianto Macroeconomics | 02 Maret 2019 Chapter-5: The Standard of Living Over Time and A Cross Countries Source: http//
Al Muizzuddin F Matematika Ekonomi Lanjutan 2013
HANDLING RUSH PRESIDENT UNIVERSITY NURLAELA RIZKINA.
Draw a picture that shows where the knife, fork, spoon, and napkin are placed in a table setting.
2. Discussion TASK 1. WORK IN PAIRS Ask your partner. Then, in turn your friend asks you A. what kinds of product are there? B. why do people want to.
Wednesday/ September,  There are lots of problems with trade ◦ There may be some ways that some governments can make things better by intervening.
Transcript presentasi:

ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis

Overview Functional Testing Boundary Value Testing (BVT) Equivalence Class Testing Decision Table Based testing Retrospective on Functional Testing

General We have seen three main types of functional testing, BVT, ECT, and DTT. The common thread among these techniques is that all view a program as a mathematical function that maps its inputs to its outputs. In this lecture we look at questions related to testing effort, testing efficiency, and tesing effectiveness.

Boundary Value Functional Test Cases Expected Output 1 100 Isosceles 2 3 Equilateral 4 199 5 200 Not a Trianle 6 7 8 9 10 Not a Triangle 11 12 13 14 15

Equivalence Class Functional Test Cases b c Output 1 5 Equilateral 2 3 Isosceles 4 Scalene 6 8 Not a triangle 7 9 10 11

Decision Table Functional Test Cases Case ID a b c Expected Output DT1 4 1 2 Not a Triangle DT2 DT3 DT4 5 Equilateral DT5 ? Impossible DT6 DT7 3 Isosceles DT8 DT9 DT10 DT11 Scalene

Testing Effort (1) boundary value equivalence class decision table Sophistication high low Number of Test Cases

Testing Effort (2) boundary value equivalence class decision table Sophistication high low Effort to Identify Test Cases

Testing Effort (3) The domain based techniques have no recognition of data or logical dependencies; they are mechanical on generating test cases and therefore are easy to automate. The equivalence class techniques take into account data dependencies and the program logic however, more thought and care is required to define the equivalence relation, partition the domain, and identify the test cases. The decision table technique is the most sophisticated, because it requires that we consider both data and logical dependencies. These techniques result into a tradeoff between test identification effort and test execution effort

Test Case Trend Line

Testing Efficiency (1) The data above, reveal the fundamental limitation of functional testing: the twin possibilities of gaps of untested functionality redundant tests For example: The decision table technique for the NextDate program generated 22 test cases (fairly complete) The worst case boundary analysis generated 125 cases. These are fairly redundant (check January 1 for five different years, only a few February cases but none on February 28, and February 29, and no major testing for leap years). The strong equivalence class test cases generated 36 test cases 11 of which are impossible. The bottom line is that there are gaps and redundancy in functional test cases, and these are reduced by using more sophisticated techniques (i.e. Decision Tables).

Testing Efficiency (2) The question is how can we quantify what we mean by the term testing efficiency. The intuitive notion of an efficient testing technique is that it produces a set of test cases that are “just right” that is, no gaps and no redundancy. We can even develop various ratios of useful test cases (i.e. no redundant, and with no gaps) with respect to the total number of test cases generated by method A and method B. One way to identify redundancy by annotating test cases with a brief purpose statement. Test cases with the same purpose provide a sense of redundancy measure. Detecting gaps is harder and this can be done only by comparing two different methods, even though there are no guarantees for complete detection of gaps. Overall, the structural methods (we will see later in the course), support interesting and useful metrics and these can provide a better quantification of testing efficiency.

Pertanyaannya adalah bagaimana kita bisa mengukur apa yang kita maksud dengan efisiensi pengujian panjang. Gagasan intuitif teknik pengujian yang efisien adalah bahwa hal itu menghasilkan serangkaian uji kasus yang "tepat" yaitu, tidak ada kesenjangan dan redundansi. Kita bahkan dapat mengembangkan berbagai rasio kasus tes yang berguna (yaitu tidak berlebihan, dan dengan tanpa celah) sehubungan dengan jumlah kasus uji yang dihasilkan dengan metode A dan metode B. Salah satu cara untuk mengidentifikasi redundansi oleh annotating kasus uji dengan pernyataan tujuan singkat. Uji kasus dengan tujuan yang sama memberikan rasa ukuran redundansi. Kesenjangan Mendeteksi lebih sulit dan ini dapat dilakukan hanya dengan membandingkan dua metode yang berbeda, meskipun tidak ada jaminan untuk deteksi lengkap kesenjangan. Secara keseluruhan, metode struktural (kita akan lihat nanti di kursus), dukungan metrik menarik dan berguna dan ini dapat memberikan kuantifikasi yang lebih baik efisiensi pengujian

Testing Effectiveness Essentially, how effective a method or a set of test cases is for finding faults present in a program. However this is problematic for two reasons: First it presumes we know all faults in a program The second reason deals with the impossible task to prove that a program is free of faults (it is equivalent to solving the halting problem) The best we can do is to work backward from fault types, that is given a fault type we can chose testing methods that are likely to reveal faults of that type. Extensions include: Use knowledge related to the most likely kinds of faults to occur Track kinds and frequencies of faults in the software applications we develop Structured techniques, can be more easily assessed with respect to their effectiveness, by considering how well cover a specific criterion.

Pada dasarnya, seberapa efektif metode atau serangkaian uji kasus untuk menemukan kesalahan hadir dalam sebuah program. Namun hal ini bermasalah karena dua alasan: Pertama menganggap kita tahu semua kesalahan dalam program Kesepakatan Alasan kedua dengan tugas yang mustahil untuk membuktikan bahwa program bebas dari kesalahan (itu setara untuk memecahkan masalah yang terputus-putus) Yang terbaik bisa kita lakukan adalah untuk bekerja mundur dari jenis kesalahan, yang diberikan jenis kesalahan kita dapat memilih metode pengujian yang akan mengungkapkan kesalahan dari tipe tersebut. Ekstensi meliputi: Gunakan pengetahuan yang terkait dengan jenis kesalahan yang paling mungkin terjadi Melacak jenis dan frekuensi kesalahan dalam aplikasi perangkat lunak yang kami mengembangkan Teknik terstruktur, dapat lebih mudah dinilai sehubungan dengan efektivitas mereka, dengan mempertimbangkan seberapa baik mencakup kriteria tertentu

Guidelines Kinds of faults may reveal some pointers as to which testing method to use. If we do not know the kinds of faults that are likely to occur in the program then the attributes most helpful in choosing functional testing methods are: Whether the variables represent physical or logical quantities Whether or not there are dependencies among variables Whether single or multiple faults are assumed Whether exception handling is prominent

Guidelines for Functional Testing Technique Selection (1) The following selection guidelines can be considered: If the variables refer to physical quantities and/or are independent domain testing and equivalence testing can be considered. If the variables are dependent, decision table testing can be considered If the single-fault assumption is plausible to assume, boundary value analysis and robustness testing can be considered If the multiple-fault assumption is plausible to assume, worst case testing, robust worst case testing, and decision table testing can be considered If the program contains significant exception handling, robustness testing and decision table testing can be considered If the variables refer to logical quantities, equivalence class testing and decision table testing can be considered

Guidelines for Functional Testing Technique Selection (2) C1: variables Physical (P) Logical (L) P L C2: Independent Variables? Y N C3: Single fault assumption? - C4: Exception handling? A1: Boundary value analysis X A2: Robustness testing A3: Worst case testing A4: Robust worst case testing A5: Traditional equivalence testing A6: Weak equivalence testing A7: Strong equivalence testing A8: Decision table