Chulalongkorn University Theses and Dissertations (Chula ETD)
Other Title (Parallel Title in Other Language of ETD)
Stubs and drivers generator for class integration testing from sequence and class diagrams
Year (A.D.)
2019
Document Type
Thesis
First Advisor
ธาราทิพย์ สุวรรณศาสตร์
Faculty/College
Faculty of Engineering (คณะวิศวกรรมศาสตร์)
Department (if any)
Department of Computer Engineering (ภาควิชาวิศวกรรมคอมพิวเตอร์)
Degree Name
วิทยาศาสตรมหาบัณฑิต
Degree Level
ปริญญาโท
Degree Discipline
วิศวกรรมซอฟต์แวร์
DOI
10.58837/CHULA.THE.2019.1269
Abstract
ในการพัฒนาซอฟต์แวร์ นักเขียนโปรแกรมแต่ละคนอาจจะเขียนโปรแกรมแต่ละส่วนเสร็จไม่พร้อมกัน หากต้องรอนักเขียนโปรแกรมทุกคนเขียนโปรแกรมเสร็จสิ้นจึงเริ่มการทดสอบจะเป็นการเสียเวลา การทดสอบซอฟต์แวร์จึงเริ่มทันทีเมื่อรหัสต้นฉบับบางส่วนพัฒนาเสร็จสิ้น ซึ่งสตับและไดร์เวอร์จะถูกนำมาใช้แทนมอดูลที่ยังพัฒนาไม่เสร็จ อย่างไรก็ตามสตับและไดร์เวอร์เป็นรหัสต้นฉบับเสียเปล่าที่ถูกสร้างเพื่อใช้เพียงครั้งเดียวและไม่สามารถนำมาใช้กับโครงการอื่น ๆ ได้ การสร้างสตับและไดร์เวอร์จึงควรใช้ความพยายามในการพัฒนาให้น้อยที่สุด งานวิจัยก่อนหน้าได้นำเสนอตัวสร้างสตับและไดร์เวอร์โดยใช้ข้อมูลจากแผนภาพลำดับและแผนภาพคลาส ซึ่งมีข้อจำกัดด้านการสร้างสตับและไดร์เวอร์สำหรับคลาสนามธรรม คลาสภายใน และอินเตอร์เฟส รวมทั้งสามารถเลือกคลาสภายใต้การทดสอบได้เพียงคลาสเดียวและไม่สามารถสร้างกรณีทดสอบได้ โดยงานวิจัยนี้จะพัฒนาตัวสร้าง สตับและไดร์เวอร์ที่แก้ไขข้อจำกัดของงานวิจัยดังกล่าว ผู้ทดสอบสามารถสร้างสตับและไดร์เวอร์สำหรับการทดสอบรวมของคลาสโดยนำเข้าแผนภาพลำดับและแผนภาพคลาสในรูปเอกซ์เอ็มแอล จากนั้นตัวสร้างจะประมวลผลแผนภาพและสร้างกราฟการเรียกใช้งานขึ้นมา ผู้ทดสอบสามารถเลือกกคลาสภายใต้การทดสอบได้ตั้งแต่หนึ่งคลาสขึ้นไป และตัวสร้างจะรวบรวมสตับและไดร์เวอร์ที่ต้องใช้ทดสอบคลาสที่เลือกและสร้างรหัสต้นฉบับของสตับและไดร์เวอร์ขึ้นมาเพื่อทดสอบคลาสเหล่านั้น นอกจากนี้ตัวสร้างจะสุ่มค่าของข้อมูลทดสอบได้แก่ข้อมูลนำเข้าและผลลัพธ์ที่คาดหวังลงไปในไดร์เวอร์ จากนั้นตัวสร้างจะส่งออกไฟล์รหัสต้นฉบับเพื่อการทดสอบรวมคลาสดังกล่าว ซึ่งสตับและไดร์เวอร์ที่สร้างขึ้นมาจะนำไปทดสอบรวมกับกรณีศึกษา 3 กรณี ซึ่งพบว่าสตับและไดร์เวอร์ที่ถูกสร้างขึ้นสามารถแทนที่คลาสที่ยังพัฒนาไม่เสร็จได้
Other Abstract (Other language abstract of ETD)
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.
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Recommended Citation
เหลืองเรืองโรจน์, พีรวุฒิ, "ตัวสร้างสตับและไดร์เวอร์สำหรับการทดสอบรวมของคลาสจากแผนภาพลำดับและแผนภาพคลาส" (2019). Chulalongkorn University Theses and Dissertations (Chula ETD). 9645.
https://digital.car.chula.ac.th/chulaetd/9645