Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/70361
Title: ตัวสร้างสตับและไดร์เวอร์สำหรับการทดสอบรวมของคลาสจากแผนภาพลำดับและแผนภาพคลาส
Other Titles: Stubs and drivers generator for class integration testing from sequence and class diagrams
Authors: พีรวุฒิ เหลืองเรืองโรจน์
Advisors: ธาราทิพย์ สุวรรณศาสตร์
Other author: จุฬาลงกรณ์มหาวิทยาลัย. คณะวิศวกรรมศาสตร์
Advisor's Email: Taratip.S@Chula.ac.th
Subjects: ซอฟต์แวร์ -- การทดสอบ
ซอฟต์แวร์ -- การพัฒนา
Computer software -- Testing
Computer software -- Development
Issue Date: 2562
Publisher: จุฬาลงกรณ์มหาวิทยาลัย
Abstract: ในการพัฒนาซอฟต์แวร์ นักเขียนโปรแกรมแต่ละคนอาจจะเขียนโปรแกรมแต่ละส่วนเสร็จไม่พร้อมกัน หากต้องรอนักเขียนโปรแกรมทุกคนเขียนโปรแกรมเสร็จสิ้นจึงเริ่มการทดสอบจะเป็นการเสียเวลา การทดสอบซอฟต์แวร์จึงเริ่มทันทีเมื่อรหัสต้นฉบับบางส่วนพัฒนาเสร็จสิ้น ซึ่งสตับและไดร์เวอร์จะถูกนำมาใช้แทนมอดูลที่ยังพัฒนาไม่เสร็จ อย่างไรก็ตามสตับและไดร์เวอร์เป็นรหัสต้นฉบับเสียเปล่าที่ถูกสร้างเพื่อใช้เพียงครั้งเดียวและไม่สามารถนำมาใช้กับโครงการอื่น ๆ ได้ การสร้างสตับและไดร์เวอร์จึงควรใช้ความพยายามในการพัฒนาให้น้อยที่สุด งานวิจัยก่อนหน้าได้นำเสนอตัวสร้างสตับและไดร์เวอร์โดยใช้ข้อมูลจากแผนภาพลำดับและแผนภาพคลาส ซึ่งมีข้อจำกัดด้านการสร้างสตับและไดร์เวอร์สำหรับคลาสนามธรรม คลาสภายใน และอินเตอร์เฟส รวมทั้งสามารถเลือกคลาสภายใต้การทดสอบได้เพียงคลาสเดียวและไม่สามารถสร้างกรณีทดสอบได้ โดยงานวิจัยนี้จะพัฒนาตัวสร้าง สตับและไดร์เวอร์ที่แก้ไขข้อจำกัดของงานวิจัยดังกล่าว ผู้ทดสอบสามารถสร้างสตับและไดร์เวอร์สำหรับการทดสอบรวมของคลาสโดยนำเข้าแผนภาพลำดับและแผนภาพคลาสในรูปเอกซ์เอ็มแอล จากนั้นตัวสร้างจะประมวลผลแผนภาพและสร้างกราฟการเรียกใช้งานขึ้นมา ผู้ทดสอบสามารถเลือกกคลาสภายใต้การทดสอบได้ตั้งแต่หนึ่งคลาสขึ้นไป และตัวสร้างจะรวบรวมสตับและไดร์เวอร์ที่ต้องใช้ทดสอบคลาสที่เลือกและสร้างรหัสต้นฉบับของสตับและไดร์เวอร์ขึ้นมาเพื่อทดสอบคลาสเหล่านั้น นอกจากนี้ตัวสร้างจะสุ่มค่าของข้อมูลทดสอบได้แก่ข้อมูลนำเข้าและผลลัพธ์ที่คาดหวังลงไปในไดร์เวอร์ จากนั้นตัวสร้างจะส่งออกไฟล์รหัสต้นฉบับเพื่อการทดสอบรวมคลาสดังกล่าว ซึ่งสตับและไดร์เวอร์ที่สร้างขึ้นมาจะนำไปทดสอบรวมกับกรณีศึกษา 3 กรณี ซึ่งพบว่าสตับและไดร์เวอร์ที่ถูกสร้างขึ้นสามารถแทนที่คลาสที่ยังพัฒนาไม่เสร็จได้
Other Abstract: During software development, each programmer may not finish coding simultaneously. Meanwhile, waiting until all programmers complete their work is a wasting of time, so the testing process should be started right after some of the source code is completed. Stubs and drivers are used for replacing unfinished modules. Since they are throwaway code—in other words, they are non-reusable code, it takes a significant effort to produce. In our previous research, the stub-and-driver generators using sequence and class diagrams was proposed; however, there are some limitations regarding generating stubs and drivers for abstract classes, inner classes, and interfaces. Testers are also allowed to select just a single class under test at a time, and the generator is only capable of generating stubs and drivers. Another point is that test input values are not generated. Therefore, this research aims to solve those limitations. To generate stubs-and-drivers source code, first, the sequence and class diagrams are imported in XML format to create a call graph. Next, testers select a group of classes under test. Then, all required stubs and drivers are identified and generated from those selected classes. Test input values and expected results for the drivers are randomly generated. Finally, these stubs and drivers are exported as source code files and sent to perform class integration testing with three case studies. The result shows that these stubs can replace those unfinished classes.
Description: วิทยานิพนธ์ (วท.ม.)--จุฬาลงกรณ์มหาวิทยาลัย, 2562
Degree Name: วิทยาศาสตรมหาบัณฑิต
Degree Level: ปริญญาโท
Degree Discipline: วิศวกรรมซอฟต์แวร์
URI: http://cuir.car.chula.ac.th/handle/123456789/70361
URI: http://doi.org/10.58837/CHULA.THE.2019.1269
metadata.dc.identifier.DOI: 10.58837/CHULA.THE.2019.1269
Type: Thesis
Appears in Collections:Eng - Theses

Files in This Item:
File Description SizeFormat 
6170947621.pdf9.1 MBAdobe PDFView/Open


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