Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/20443
Title: วิธีการเรียงลำดับคลาสสำหรับการทดสอบแบบบูรณาการโดยใช้เทคนิคการตัดส่วนเชิงวัตถุ
Other Titles: An approach of ordering class for integration testing using object-oriented slicing technique
Authors: จุฑารัตน์ เจริญไพบูลย์กิจ
Advisors: ธาราทิพย์ สุวรรณศาสตร์
Other author: จุฬาลงกรณ์มหาวิทยาลัย. คณะวิศวกรรมศาสตร์
Advisor's Email: Taratip.S@chula.ac.th
Subjects: ซอฟต์แวร์ -- การทดสอบ
Issue Date: 2551
Publisher: จุฬาลงกรณ์มหาวิทยาลัย
Abstract: การทดสอบแบบบูรณาการเป็นการหาข้อผิดพลาดในการทำงานร่วมกันระหว่างส่วนประกอบของซอฟต์แวร์ ในการทดสอบแบบบูรณาการสำหรับซอฟต์แวร์เชิงวัตถุ จำเป็นต้องกำหนดลำดับคลาสที่นำมาทดสอบ แต่ปัญหาของการเรียงลำดับคลาสคือ การเรียงลำดับคลาสโดยที่ความสัมพันธ์ระหว่างคลาสมีการเรียกที่ขึ้นต่อกันแบบมีวง สำหรับวิธีการเรียงลำดับคลาสวิธีอื่นๆ จะทำการลบความสัมพันธ์ระหว่างคลาสเพื่อขจัดการเรียกที่ขึ้นต่อกันแบบมีวง โดยจะต้องสร้างสตับขึ้นเพื่อใช้ทดสอบคลาสที่ถูกลบความสัมพันธ์ งานวิจัยนี้นำเสนอวิธีการเรียงลำดับคลาสสำหรับการทดสอบแบบบูรณาการ วิธีการนี้ใช้การตัดส่วนเชิงวัตถุในการขจัดการเรียกที่ขึ้นต่อกันแบบมีวง เพื่อลดจำนวนสตับในการเรียงลำดับคลาสสำหรับทำการทดสอบ วิธีการเรียงลำดับคลาสสำหรับการทดสอบแบบบูรณาการที่เสนอในวิทยานิพนธ์นี้ประกอบด้วยขั้นตอนหลัก 3 ขั้นตอนได้แก่ ขั้นตอนการวิเคราะห์ความสัมพันธ์ระหว่างคลาส ขั้นตอนการขจัดการเรียกที่ขึ้นต่อกันแบบมีวง และขั้นตอนการเรียงลำดับคลาส โดยในขั้นตอนการวิเคราะห์ความสัมพันธ์ระหว่างคลาส วิทยานิพนธ์นี้ใช้ทาร์จันอัลกอริทึมในการหากลุ่มคลาสที่ความสัมพันธ์ระหว่างคลาสมีการเรียกที่ขึ้นต่อกันแบบมีวง จากนั้นจึงทำการแบ่งประเภทกลุ่มคลาสที่มีการเรียกที่ขึ้นต่อกันแบบมีวง สำหรับการขจัดการเรียกที่ขึ้นต่อกันแบบมีวงซึ่งเป็นขั้นตอนถัดไปนั้น ใช้การตัดส่วนเชิงวัตถุในการขจัดการเรียกที่ขึ้นต่อกันตามประเภทของกลุ่มคลาสที่ได้แบ่งประเภทไว้แล้ว เมื่อการเรียกที่ขึ้นต่อกันแบบมีวงถูกขจัดจนหมด จึงเรียงลำดับคลาสเป็นขั้นตอนสุดท้าย ในงานวิทยานิพนธ์นี้ได้พัฒนาเครื่องมือเพื่อทดสอบวิธีการที่นำเสนอ และทดลองเรียงลำดับคลาสสำหรับการทดสอบแบบบูรณาการจากโปรแกรมเชิงวัตถุ ผลที่ได้จากการทดลองกับกรณีศึกษา 3 ระบบ แสดงให้เห็นว่า วิธีการเรียงลำดับการบูรณาการคลาสโดยใช้เทคนิคการตัดส่วนเชิงวัตถุ มีการใช้สตับน้อยกว่าวิธีการเรียงลำดับคลาสวิธีอื่นๆ
Other Abstract: Integration testing is to find component faults that cause inter-component failures. Integration testing for object-oriented software needs ordering classes to be tested. However, a problem of ordering classes is the determination of cyclic dependency calls. Most approaches proposed ordering classes by removing relationships to break cycles. Removing a relationship would require a stub to be created for testing classes at the end of the relationship. This thesis presents an approach of ordering class for integration testing using object-oriented slicing technique to break cyclic dependencies. The objective is to minimize a number of test stubs in ordering classes. The proposed approach consists of three steps: analyzing relationship step, breaking cycle step, and sorting class step. In the analyzing relationship step, this research uses tarjan algorithm for detecting cycle, then classifies classes with cyclic dependencies to cycle type. Breaking cycles, which is the next step, uses object-oriented slicing to break cycles by cycle type. After no cycle remains, the final step is ordering classes. This thesis develops a tool to test this approach and, to demonstrate ordering classes for integration testing from object-oriented software. The result of our experiments with three case studies indicates that an approach for ordering class integration using object-oriented slicing technique use less test stubs than other approaches
Description: วิทยานิพนธ์ (วศ.ม.)--จุฬาลงกรณ์มหาวิทยาลัย, 2551
Degree Name: วิศวกรรมศาสตรมหาบัณฑิต
Degree Level: ปริญญาโท
Degree Discipline: วิศวกรรมคอมพิวเตอร์
URI: http://cuir.car.chula.ac.th/handle/123456789/20443
URI: http://doi.org/10.14457/CU.the.2008.1161
metadata.dc.identifier.DOI: 10.14457/CU.the.2008.1161
Type: Thesis
Appears in Collections:Eng - Theses

Files in This Item:
File Description SizeFormat 
Jutarat_ja.pdf2.02 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.