บทที่ 13 การทดสอบซอฟต์แวร์ ( Software Testing ).

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การวางแผนพัฒนาระบบสำนักงาน
Advertisements

เทคโนโลยีฐานข้อมูลสำนักงาน
Chapter 11 : System Implementation
วงจรพัฒนาระบบ (System Development Life Cycle)
COE โปรแกรมบริหารจัดการอู่ซ่อมรถยนต์
พิมพ์ชื่อบริษัทหรือหน่วยงาน
Lecture 10 : Database Documentation
การวิเคราะห์ระบบและวิธีปฏิบัติงาน
หน่วย 6 การพัฒนาสารสนเทศ
BY Tanatorn Phiboon Pre-En A 28 Zachary Andre Chan Pre-En A 11.
Object-Oriented Analysis and Design
หน่วยที่ 1 ระบบคอมพิวเตอร์
บทที่ 1. พื้นฐานความรู้ทั่วไป
การวิเคราะห์ความต้องการด้านระบบ
การจัดหา การติดตั้ง และการบำรุงรักษาระบบ
การออกแบบซอฟต์แวร์ (Software Design)
Surachai Wachirahatthapong
Software Process Models
SCC : Suthida Chaichomchuen
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
Test Methodology.
บทที่ 2 การพัฒนาระบบ (System Development)
Unit Test Unit Test ระบบ Simple MRP เพื่อตรวจสอบความถูกต้องของฟังก์ชั่นในการทำงานของระบบ โดยพยายามทำการหาข้อผิดพลาดของตัวระบบให้ได้มากที่สุดโดยใช้เวลาและจำนวนของ.
Simple MRP Group กฤตนันท์ มณีรัตนาศักดิ์
Waterfall model แบบจำลองน้ำตก
การจัดทำคู่มือ การปฏิบัติงาน Work Manual
Language Evaluation Criteria
บทที่ 15 Start การซ่อมบำรุงระบบ (System Maintenance) Next.
การพัฒนาและติดตั้งระบบ
วิธีการทางคอมพิวเตอร์
แบบจำลองกระบวนการซอฟต์แวร์
3. การพัฒนาระบบสารสนเทศ
ความต้องการเชิงคุณภาพ (Qualitative Requirements)
Effort Estimation การประมาณการณ์บุคลากร
Chapter 2 Software Process.
บทที่ 3 การวิเคราะห์ Analysis.
Software Quality Assurance
ที่ใช้ใน Object-Oriented Design
การพัฒนาระบบฐานข้อมูล
II > วงจรการพัฒนาระบบ (System Development Life Cycle)
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
วิชา วิศวกรรมซอฟต์แวร์ (Software Engineering)
Uncertainty of Measurement
Software Testing  - ช่วยกำจัด และลดข้อบกพร่องที่จะก่อให้เกิดปัญหาลงให้มากที่สุดที่จำทำได้ (ตามเวลาที่มี) - ช่วยลดความเสี่ยง เพิ่มความมั่นใจ และน่าเชื่อถือ.
chatper 2 Software Requirement
การจัดการฐานข้อมูล.
chapter7 -Intro to Software Testing
หลักการแก้ปัญหา.
บทที่ 2 แนวคิดในการเขียนโปรแกรม. ขั้นตอนการ พัฒนาโปรแกรม ในการพัฒนาโปรแกรมมีขั้นตอนหลัก 5 ขั้นตอน ซึ่งไม่ว่าจะทำการพัฒนาโปรแกรม ครั้งใดจะต้องปฏิบัติตามขั้นตอนเหล่านี้
Computer What are they? – อุปกรณ์อิเลคทรอนิคส์ที่ทำงานภายใต้คำสั่งงานที่เก็บอยู่ ในหน่วยความจำ โดยคอมพิวเตอร์ จะ สามารถรองรับ ข้อมูล หรือ Input ทำการประมวลผล.
การวิเคราะห์และออกแบบระบบ System Analysis and Design
ระบบคอมพิวเตอร์ (computer system)
ADDIE Model.
Lesson 10 Software Evolution
Chapter 1 Introduction to Software Engineering – Software Engineering Chaichan Kusoljittakorn 1.
ระบบฐานข้อมูล.
Business System Analysis and Design (BC401)
1 Documentation SCC : Suthida Chaichomchuen
Information Systems Development
การทดสอบซอฟต์แวร์ Software Testing
Thai Quality Software (TQS)
บทที่ 14 กลวิธีการทดสอบซอฟต์แวร์ (TESTING STRATEGIES)
บทที่ 13 กลยุทธ์การทดสอบซอฟต์แวร์ (TESTING STRATEGIES)
บทที่ 5 แบบจำลองกระบวนการ
2 การพัฒนาระบบสารสนเทศ (Information System Development)
Information System Development
บทที่ 10 การนำระบบไปใช้/การบำรุงรักษาระบบ
การพัฒนาและติดตั้งระบบ
บทที่ 3 กระบวนการผลิตซอฟต์แวร์ (Software Process)
กลยุทธ์การทดสอบซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ (Software Engineering)
ใบสำเนางานนำเสนอ:

บทที่ 13 การทดสอบซอฟต์แวร์ ( Software Testing )

การทดสอบซอฟท์แวร์ ( Software Testing ) “ Testing is the process of executing a program with the intent of finding errors ” Glen Myers

Software Testing Methods Strategies white-box methods black-box

Test Case Design "Bugs lurk in corners and congregate at boundaries ..." Boris Beizer OBJECTIVE CRITERIA CONSTRAINT to uncover errors in a complete manner with a minimum of effort and time

White-Box Testing เป็น Structured Testing ดูโครงสร้างของโปรแกรม พยายามให้ทุกๆ Statement ถูก Execute อย่างน้อย 1 ครั้ง

White-Box Testing

Basis Path Testing เป็น idea ที่ช่วยในการทำ White-box ให้ง่ายขึ้น เปลี่ยน Flowchart ให้เป็น Graph ที่ประกอบด้วย Vertices และ Edge

1 3 2 6 8 7 4 5 9 10 11

1 2, 3 6 4, 5 7 8 9 10 11

Independent Path มี 4 Path

Cychomatic Complexity : V(G) เป็นวิธีที่ช่วยหา Basis Path V(G) = E - V + 2 เมื่อ V : Vertices E : Edge

Black-Box Testing เป็น Functional Testing มี Input แล้วต้องรู้ว่า Output มีรูปแบบใดบ้าง

Black-Box Testing Input Output

Equivalence Partitioning เป็น idea ที่ช่วยในการทำ Black-box ให้ง่ายขึ้น พยายามแบ่งประเภทของ Input , Output Test ทีละประเภท

Testing Strategy integration test unit test validation system test

Unit Testing Test ทีละ Component * Function * Procedure ไม่มี Response อื่นมาเกี่ยวข้อง

Unit Testing module to be tested results test cases software engineer

Unit Testing module to be tested interface local data structures boundary conditions independent paths error handling paths test cases

Integration Test Module Testing @ Test ทีละ Module Sub-System Testing @ Test Module ที่เกี่ยวข้องกัน @ ระวังการ Interface ระหว่าง Module

Integrate Testing Top-down Testing Bottom-up Testing Thread Testing Stress Testing Incremental Testing

Top-down Testing Test จากบนลงล่าง Sub-system Module Unit

Top Down Integration top module is tested with stubs stubs are replaced one at a time, "depth first" as new modules are integrated, some subset of tests is re-run A B C D E F G

ข้อดีของ Top-down Testing เจอ errors เร็ว ลด Cost ป้องกันการ Redesign เห็นภาพรวมง่าย สาธิตให้ User ดูได้เร็ว มีผลดีต่อผู้ร่วมงาน

ข้อเสียของ Top-down Testing ทำได้แต่เฉพาะ Level ล่างๆ ( Unit , Module )

Bottom- Up Integration F G drivers are replaced one at a time, "depth first" C worker modules are grouped into D E builds and integrated cluster

Bottom-up Testing Test จาก ระดับล่างขึ้นบน ข้อดีคือ ข้อเสียของ Top-down

Thread Testing Test ทุกๆ Process ใน level เดียวกัน อาจรวม Top-down และ Bottom-up เข้าด้วยกัน

Stress Testing ทดสอบพฤติกรรมการ Fail ของระบบ เมื่อมีอะไรมากระทบ Soft Fail Hard Fail

Incremental Testing เป็นการเพิ่ม Module ที่ Test แล้วมาไว้ รวมกัน

System Testing Test ทั้งระบบ ( รวม Sub-system ต่างๆเข้าด้วยกัน )

Validation or Acceptance Testing Test จาก Data จริงๆ ของลูกค้า ตรงกับ System Requirement Definition หรือไม่

… … การเงิน System Sub- ค่าตำแหน่ง เงินเดือน System ทางวิชาการ Module ค่าล่วงเวลา ภาษี ณ ที่จ่าย เสาร์, นัก เย็น โสด Unit สมรส หย่าร้าง อาทิตย์ ขัตฤกษ์

การกำหนดมาตรฐานของกระบวนการในการ ทดสอบ เพื่อ Test Planning การกำหนดมาตรฐานของกระบวนการในการ ทดสอบ เพื่อ ครอบคลุม Errors Minimum Cost

Test Plan ประกอบด้วย Testing Process Requirement Traceability Tested Items Testing Schedule Test Recording Procedure H/W and S/W Require Constraints

Test Phase Earlier Phase Program Defect Laster Phase V&V

Verification & Validation V&V เพื่อหาข้อผิดพลาดของระบบ เพื่อประเมิน/สอบสวนว่า ระบบสามารถอยู่ในสถานะ ที่ใช้งานได้

การ Testing ตาม V&V แบ่งได้ 2 ประเภท Statistical Testing Defect Testing

Statistical Testing ออกแบบการ Testing เพื่อสะท้อนให้เห็นถึงปริมาณ Actual inputs/outputs รวมถึงแสดงการประมาณค่าน่าเชื่อถือของระบบที่อาจเป็นไปได้

Defect Testing ออกแบบเพื่อเปิดเผย/แสดงผลกระทบ (Errors) ในระบบ

Test Data & Test Case Test Data เป็นการ Test Data ที่ใช้ในการ Drive Program Test Case รวมการ Test input + output + function spec. เข้าด้วยกัน

Alpha & Beta Testing Alpha Test Software Customer test Developer Site Customer Site

Alpha & Beta Testing Beta Test Software Customer test Developer reviews Software Developer Site Customer Site

Who Test Software ? Developer Independent tester Customer

บทที่ 14 เอกสารประกอบระบบงาน และการบำรุงรักษา ( Documentation and Maintenace )

Documentation เอกสารประกอบงาน เป็นเอกสารที่อธิบายถึงระบบงานทั้งทางด้านภาพรวมของระบบงาน , ด้านเทคนิค และด้านการใช้งาน

Documentation ประกอบด้วย * System Documentation * User Documentation

System Documentation ประกอบด้วย * Requirement Specification * System Achitecture * Description Of the Design * Program Achitecture * Source Code * Test Plans And Reports

User Documentation ประกอบด้วย * เอกสารองค์ประกอบของงาน * คู่มือการใช้งานเบื้องต้น * คู่มืออ้างอิงระบบงาน * เอกสารการติดตั้งระบบ * คู่มือผู้บริหารระบบ

เอกสารองค์ประกอบของงาน ( Functional description) อธิบายขอบข่ายการทำงานทั้งหมด เป็นภาพรวมที่มองได้ชัดเจน

คู่มือการใช้งานเบื้องต้น ( Introductory Manual ) แนะนำการใช้งานตั้งแต่แรก มีคำอธิบายข้อผิดพลาด มีตัวอย่างให้ผู้ใช้ทดลองทำ

คู่มืออ้างอิงระบบงาน ( Reference Manual ) อธิบายโครงสร้างการใช้งานของระบบ มีวิธีแก้ไขข้อผิดพลาด

เอกสารการติดตั้งระบบ ( Installation Document ) อธิบายวิธีการติดตั้งอย่างละเอียด อธิบายระบบฮาร์ดแวร์ที่จำเป็นต้องใช้

( System Administrator Guide ) คู่มือผู้บริหารระบบ ( System Administrator Guide ) อธิบายการทำงานของระบบ ที่ไปสัมพันธ์กับระบบงานอื่นๆ

Maintenance การพัฒนาโปรแกรมหรือระบบงานที่พัฒนาเสร็จแล้วและส่งมอบให้ผู้ใช้ ใช้งานแล้ว แต่ต้องมีการแก้ไขปรับปรุงให้ดีขึ้นและเหมาะสมกับสถานการณ์ปัจจุบัน