การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 7 การทดสอบโปรแกรม

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Strength of Materials I EGCE201 กำลังวัสดุ 1
Advertisements

E-COMMERCE WEBSITE Smartzap Co., Ltd.. Company Profile บริษัท สมาร์ทแซป จำกัด ก่อตั้งเมื่อปี 2543 (13 ปี ) ในช่วงยุค Internet เพิ่ง เริ่มต้น เป็นบริษัทที่ดำเนินงานทางด้าน.
John Rawls  John Rawls is the most famous American social contract theorist argued that “Justice is fairness” He Thought human natural have a appropriate.
THE PARTS OF A FLOWERING PLANT AND THEIR FUNTION.
คำสั่ง DISPLAY รูปแบบที่ 1 DISPLAY identifier-1, identifier-2 … literal-1 literal-2 [ UPON mnemonic-name ]  ตัวอย่าง DISPLAY STUDENT-NAME. DISPLAY.
Set is a basic term in Mathematics. There is no precise definition for term “set”, But roughly speaking, a set is a collection of objects, Things or symbols,
INC 551 Artificial Intelligence Lecture 2. Review Environment Action Sense, Perceive Make Decision Agent World Model Deliberative Agent.
ขั้นตอนวิธีและเครื่องมือในการพัฒนาโปรแกรม (ต่อ)
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
Chapter 10 : Finalizing Design Specification
Chapter 9 : Designing Approach
Graphical User Interface charturong.ee.engr.tu.ac.th/CN208
Braille OCR Mobile Application
รู้จักกับเทคโนโลยี RFID เบื้องต้น
Emergency Response System for Elderly and PWDs: Design & Development
การอบรมเชิงปฏิบัติการเรื่อง “การสร้างข้อสอบ OSCE”
Database Management System
VARIABLES, EXPRESSION and STATEMENTS. Values and Data Types Value เป็นสิ่งพื้นฐาน มีลักษณะเป็น ตัวอักษร หรือ ตัวเลข อาทิ 2+2 หรือ “Hello world” Value.
อาจารย์ มธ. อธิบายการใช้ โมเดลของ
Data Structures and Algorithms
ระบบการจัดเก็บในคลังสินค้า
: Chapter 1: Introduction 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
ออโตมาตาจำกัด FINITE AUTOMATA
REGULAR EXPRESSION การบรรยายแบบสม่ำเสมอ
Helping you make better treatment decisions for your patients.
บทที่ 2. วิศวกรรมระบบ (Systems Engineering)
บทที่ 3. ขั้นตอนการพัฒนาซอฟต์แวร์
Inductive, Deductive Reasoning ผศ.( พิเศษ ) น. พ. นภดล สุชาติ พ. บ. M.P.H.
Course Software Engineering SE Overview and Introduction.
INC341 Steady State Error Lecture 6.
        วงจรดิจิตอลลอจิก 3(2-1-3)
Yv xv zv.
Modern Management นำเสนอโดย อาจารย์มุกดา ยี่หวา คณะบริหารธุรกิจ.
MAT 231: คณิตศาสตร์ไม่ต่อเนื่อง (3) Function Growth & Time-Complexity
Create the Knowledge Management Blueprint
Testing type and Plan Apirada Thadadech.
8/3/2014The Realities of software Testing1 Software testing Realities What is the realities of software testing Why does the software testing not complete.
Merchant Marine Training Centre วิชาการเป็นเลิศ เชิดชู คุณธรรม ผู้นำ.
July Lecture Side Lecture by Suradet Tantrairatn Lecturer and Researcher Chapter Four June 2010 Definitions, Goals, and Objective.
Merchant Marine Training Centre วิชาการเป็นเลิศ เชิดชู คุณธรรม ผู้นำ.
Menu and Interactive with Powerpoint ให้นำเรื่อง Input /Output Technology มา จัดทำ การนำเสนอ โดยใช้หลักการ Menu and Interactive with powerpoint มาประยุกต์
Intervention Method for NCD Control กัณหา เกียรติสุต สำนักงานป้องกันควบคุมโรคที่ 6 ขอนแก่น.
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
วิธีการ Auto ship.
Mini KM.
Writing a research. Why Research?  To find whether the messages and the materials are appropriate to the target group  To modify the messages and the.
iWaLL โดย 1. นายวีกิจ สัจจะมโนรมย์
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
STACK ADT By Pantharee S.. Stack Model  A list with the restriction that insertions deletions can be performed in only one position (LIFO)  Push – insert.
1-1: Software Project Management การจัดการโครงงานซอฟต์แวร์ Software Project Management การจัดการโครงงานซอฟต์แวร์ ความหมายการจัดการโครงงาน.
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
เอกสารเรียนวันที่ 7 กันยายน 2555
Chapter 3 Simple Supervised learning
Chapter 1/1 Arrays. Introduction Data structures are classified as either linear or nonlinear Linear structures: elements form a sequence or a linear.
Introduction to Microprocessors II
An Online Computer Assisted Instruction Development of Electronics Devices Subject for Learning Effectiveness Testing By Assoc.Prof. Suwanna Sombunsukho.
Physical Chemistry IV The Ensemble
หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรอบรมครู คอมพิวเตอร์ หลักสูตรที่ ๑ ทักษะการโปรแกรม เบื้องต้น วันที่สาม.
 Mr.Nitirat Tanthavech.  HTML forms are used to pass data to a server.  A form can contain input elements like text fields, checkboxes, radio-buttons,
การทดสอบซอฟต์แวร์ Software Testing
บทที่ 1 ความรู้เบื้องต้น เกี่ยวกับระบบสารสนเทศ
Principles of Accounting II
ที่มาและหน่วยงานกาชาดต่างๆ
บทที่ 3 กระบวนการผลิตซอฟต์แวร์ (Software Process)
Extreme Programming Explained: Embrace Change
STRATEGIES FOR SUCCESS
กลยุทธ์การทดสอบซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ (Software Engineering)
Year 9 Term 1 Foundation (Unit 1) INTEGERS, ROUNDING AND PLACE VALUE
ใบสำเนางานนำเสนอ:

การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 7 การทดสอบโปรแกรม ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏสุราษฎร์ธานี

การทดสอบโปรแกรม กระบวนการในการทดสอบ กระบวนการในการหาข้อผิดพลาดของโปรแกรม กลยุทธ์การทดสอบ เครื่องมือช่วยในการทดสอบ แบบต่าง ๆ ของการทดสอบ

Testing phases

The defect testing process

Black-box testing

Equivalence partitioning

Equivalence partitioning Partition system inputs and outputs into ‘equivalence sets’ If input is a 5-digit integer between 10,000 and 99,999, equivalence partitions are <10,000, 10,000-99, 999 and > 10, 000 Choose test cases at the boundary of these sets 00000, 09999, 10000, 99999, 10001

Equivalence partitions

White-box testing

Path testing The objective of path testing is to ensure that the set of test cases is such that each path through the program is executed at least once The starting point for path testing is a program flow graph that shows nodes representing program decisions and arcs representing the flow of control Statements with conditions are therefore nodes in the flow graph

Program flow graphs Describes the program control flow. Each branch is shown as a separate path and loops are shown by arrows looping back to the loop condition node Used as a basis for computing the cyclomatic complexity Cyclomatic complexity = Number of edges - Number of nodes +2

Cyclomatic complexity The number of tests to test all control statements equals the cyclomatic complexity Cyclomatic complexity equals number of conditions in a program Useful if used with care. Does not imply adequacy of testing. Although all paths are executed, all combinations of paths are not executed

Binary search flow graph

Independent paths 1, 2, 3, 8, 9 1, 2, 3, 4, 6, 7, 2 1, 2, 3, 4, 5, 7, 2 1, 2, 3, 4, 6, 7, 2, 8, 9 Test cases should be derived so that all of these paths are executed A dynamic program analyser may be used to check that paths have been executed

Integration testing Tests complete systems or subsystems composed of integrated components Integration testing should be black-box testing with tests derived from the specification Main difficulty is localising errors Incremental integration testing reduces this problem

Incremental integration testing

Approaches to integration testing Top-down testing Start with high-level system and integrate from the top-down replacing individual components by stubs where appropriate Bottom-up testing Integrate individual components in levels until the complete system is created In practice, most integration involves a combination of these strategies

Top-down testing

Bottom-up testing

Tetsing approaches Architectural validation System demonstration Top-down integration testing is better at discovering errors in the system architecture System demonstration Top-down integration testing allows a limited demonstration at an early stage in the development Test implementation Often easier with bottom-up integration testing Test observation Problems with both approaches. Extra code may be required to observe tests

Interface testing Takes place when modules or sub-systems are integrated to create larger systems Objectives are to detect faults due to interface errors or invalid assumptions about interfaces Particularly important for object-oriented development as objects are defined by their interfaces

Interface testing

Interfaces types Parameter interfaces Shared memory interfaces Data passed from one procedure to another Shared memory interfaces Block of memory is shared between procedures Procedural interfaces Sub-system encapsulates a set of procedures to be called by other sub-systems Message passing interfaces Sub-systems request services from other sub-systems

Interface errors Interface misuse Interface misunderstanding A calling component calls another component and makes an error in its use of its interface e.g. parameters in the wrong order Interface misunderstanding A calling component embeds assumptions about the behaviour of the called component which are incorrect Timing errors The called and the calling component operate at different speeds and out-of-date information is accessed

Interface testing guidelines Design tests so that parameters to a called procedure are at the extreme ends of their ranges Always test pointer parameters with null pointers Design tests which cause the component to fail Use stress testing in message passing systems In shared memory systems, vary the order in which components are activated

Stress testing Exercises the system beyond its maximum design load. Stressing the system often causes defects to come to light Stressing the system test failure behaviour.. Systems should not fail catastrophically. Stress testing checks for unacceptable loss of service or data Particularly relevant to distributed systems which can exhibit severe degradation as a network becomes overloaded

A testing workbench

เครื่องมือช่วยในการทดสอบ เครื่องมือสร้างกรณีทดสอบ เครื่องมือทดสอบการ Coverage เครื่องมือการประมวลผลการทดสอบ เครื่องมือจัดการกับกรณีทดสอบ

แบบต่าง ๆ ของการทดสอบ Unit Test Integration Test Functional Test (Features Test, Acceptance Test) Stress Test Performance Test Qualification Test Loading Test Compatibility Test Installation Test Regression Test