อ่าน 4 นาที
TPT (ซอฟต์แวร์)
TPT ( การทดสอบการแบ่งเวลา ) เป็น วิธี การทดสอบ ที่เป็นระบบ สำหรับ การทดสอบซอฟต์แวร์ อัตโนมัติ และ การตรวจสอบ ระบบ ควบคุมแบบฝังตัว ระบบ ไซเบอร์-กายภาพ และ โปรแกรมการไหลของข้อมูล...
TPT (ซอฟต์แวร์)
| การทดสอบแบบแบ่งช่วงเวลา (TPT) | |
|---|---|
กรณีทดสอบจำลองด้วย TPT | |
| นักพัฒนา | บริษัท ซินอปซิส อิงค์ |
| เวอร์ชันเสถียร | 2024.12 / ธันวาคม 2024 |
| ระบบปฏิบัติการ | วินโดวส์ |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| พิมพ์ | การทดสอบซอฟต์แวร์ |
| ใบอนุญาต | กรรมสิทธิ์ |
| เว็บไซต์ | www.synopsys.com/verification/virtual-prototyping/tpt.html |
TPT ( การทดสอบการแบ่งเวลา ) เป็นวิธีการทดสอบ ที่เป็นระบบ สำหรับการทดสอบซอฟต์แวร์อัตโนมัติและการตรวจสอบระบบควบคุมแบบฝังตัวระบบไซเบอร์-กายภาพและโปรแกรมการไหลของข้อมูล TPT เชี่ยวชาญในการทดสอบและตรวจสอบระบบแบบฝังตัวซึ่งอินพุตและเอาต์พุตสามารถแสดงเป็นสัญญาณได้และเป็นวิธีการเฉพาะสำหรับการทดสอบพฤติกรรมต่อเนื่องของระบบ [ 1 ]ระบบควบคุมส่วนใหญ่เป็นระบบประเภทนี้ คุณลักษณะที่โดดเด่นของระบบควบคุมคือการที่ระบบเหล่านี้มีปฏิสัมพันธ์อย่างใกล้ชิดกับสภาพแวดล้อมในโลกแห่งความเป็นจริง ตัวควบคุมจำเป็นต้องสังเกตสภาพแวดล้อมและตอบสนองต่อพฤติกรรมของสภาพแวดล้อมนั้น[ 2 ] ระบบทำงานในวงจรปฏิสัมพันธ์กับสภาพแวดล้อมและอยู่ภายใต้ข้อจำกัดด้านเวลา การทดสอบระบบเหล่านี้คือการกระตุ้นและตรวจสอบพฤติกรรมด้านเวลา วิธีการทดสอบการทำงานแบบดั้งเดิมใช้สคริปต์ – TPT ใช้ การทดสอบ ตาม แบบจำลอง
TPT ผสานเทคนิคการสร้างแบบจำลองอย่างเป็นระบบและเชิงกราฟิกสำหรับกรณีทดสอบเข้ากับการดำเนินการทดสอบแบบอัตโนมัติอย่างสมบูรณ์ในสภาพแวดล้อมต่างๆ และการประเมินผลการทดสอบอัตโนมัติ TPT ครอบคลุมกิจกรรมการทดสอบสี่อย่างต่อไปนี้:
- การสร้างแบบจำลองกรณีทดสอบ
- ดำเนินการทดสอบในสภาพแวดล้อมต่างๆ (แบบอัตโนมัติ)
- การวิเคราะห์ผลการทดสอบ (การประเมินผลการทดสอบ (อัตโนมัติ))
- เอกสารประกอบการทดสอบ (อัตโนมัติ)
- การจัดการทดสอบ
กรณีทดสอบกราฟิก

ในการทดสอบ TPT จะมีการจำลองแบบกราฟิกโดยใช้เครื่องสถานะพิเศษและการแบ่งเวลา[ 1 ] [ 3 ]กรณีทดสอบทั้งหมดสำหรับระบบหนึ่งที่กำลังทดสอบสามารถจำลองได้โดยใช้ออโตมาตาไฮบริดหนึ่งตัว การทดสอบมักประกอบด้วยลำดับของขั้นตอนเชิงตรรกะสถานะของเครื่องสถานะจำกัดแสดงถึงการผ่านเชิงตรรกะของการทดสอบซึ่งคล้ายกันสำหรับการทดสอบทั้งหมด เงื่อนไขทริกเกอร์จำลองการเปลี่ยนผ่านระหว่างขั้นตอนการทดสอบ แต่ละสถานะและการเปลี่ยนผ่านของออโตมาตาอาจมีตัวแปรที่แตกต่างกัน การรวมกันของตัวแปรต่างๆ จะจำลองกรณีทดสอบแต่ละกรณี
ข้อความ ภาษาธรรมชาติกลายเป็นส่วนหนึ่งของกราฟิก ช่วยให้การอ่านเข้าใจง่ายและชัดเจนแม้สำหรับผู้ที่ไม่ใช่โปรแกรมเมอร์ เทคนิคที่สำคัญ เช่นเครื่องสถานะ แบบขนานและแบบลำดับชั้น การแตก แขนงแบบมีเงื่อนไข ปฏิกิริยาตอบสนองคำอธิบายสัญญาณ สัญญาณที่วัดได้รวมถึงรายการขั้นตอนการทดสอบอย่างง่าย ช่วยให้การสร้างแบบจำลองที่ใช้งานง่ายและเป็นภาพกราฟิก แม้แต่กรณีทดสอบที่ซับซ้อน
ความซับซ้อนของการทดสอบถูกซ่อนไว้เบื้องหลังกราฟิก คำอธิบายสัญญาณระดับต่ำสุดประกอบด้วยรายการขั้นตอนการทดสอบหรือสิ่งที่เรียกว่าคำจำกัดความโดยตรง

การสร้างแบบจำลองลำดับอย่างง่าย: รายการขั้นตอนการทดสอบ
ด้วยการใช้รายการขั้นตอนการทดสอบ (Test-Step List) เราสามารถสร้างแบบจำลองลำดับขั้นตอนการทดสอบง่ายๆ ที่ไม่จำเป็นต้องดำเนินการพร้อมกัน เช่น การตั้งค่าสัญญาณ (Set channel), การปรับสัญญาณ (Ramp channel), การตั้งค่าพารามิเตอร์ (Set parameter) และการรอ (Wait) สามารถขอผลการทดสอบที่คาดหวังได้ภายในลำดับการทดสอบเพื่อประเมินระบบที่กำลังทดสอบขณะทำงาน นอกจากนี้ยังสามารถวางซับออโตมาตอน (subautomatons) ในรายการขั้นตอนการทดสอบ ซึ่งในทางกลับกันจะประกอบด้วยออโตมาตอน (automatons) และลำดับต่างๆ ทำให้เกิดรายการขั้นตอนการทดสอบแบบลำดับชั้น ลำดับการทดสอบยังสามารถรวมเข้ากับวิธีการสร้างแบบจำลองอื่นๆ ได้ ทำให้การทดสอบมีความซับซ้อน (หรือเรียบง่าย) มากยิ่งขึ้น ลำดับการทดสอบยังสามารถรวมและดำเนินการพร้อมกันกับวิธีการสร้างแบบจำลองอื่นๆ ได้อีกด้วย

คำจำกัดความของสัญญาณโดยตรง: คำจำกัดความโดยตรง
ภายในรายการขั้นตอนการทดสอบ (Test-Step-List) สามารถใช้งานสิ่งที่เรียกว่า "คำจำกัดความโดยตรง" (Direct Definitions) ได้ โดยใช้การสร้างแบบจำลองประเภทนี้ เราสามารถกำหนดสัญญาณเป็นฟังก์ชันของเวลา ตัวแปรในอดีต/เหตุการณ์การทดสอบ และสัญญาณอื่นๆ ได้ นอกจากนี้ยังสามารถกำหนดสัญญาณเหล่านี้ได้โดยการเขียนโค้ดแบบ " C -Style" รวมถึงการนำเข้าข้อมูลการวัดและใช้ตัวแก้ไขสัญญาณแบบแมนนวลได้ อีกด้วย
ฟังก์ชัน
สามารถกำหนดฟังก์ชันที่ทำหน้าที่เป็นไคลเอนต์หรือเซิร์ฟเวอร์ได้ ฟังก์ชันไคลเอนต์จะถูกเรียกจาก TPT ในระบบที่กำลังทดสอบ ในขณะที่ฟังก์ชันเซิร์ฟเวอร์ที่เขียนขึ้นใน TPT สามารถเรียกใช้ได้ในฐานะ " ฟังก์ชัน จำลอง " จากระบบที่กำลังทดสอบ TPT เองก็อาจเรียกใช้ฟังก์ชันเซิร์ฟเวอร์ได้เช่นกัน
กรณีทดสอบที่เป็นระบบ
TPT ได้รับการพัฒนาขึ้นโดยเฉพาะสำหรับการทดสอบพฤติกรรมต่อเนื่องและปฏิกิริยาของระบบฝังตัว[ 4 ] TPT สามารถมองได้ว่าเป็นส่วนขยายของวิธีการจำแนกประเภทต้นไม้ในแง่ของพฤติกรรมเวลา เนื่องจากวิธีการที่เป็นระบบใน การสร้าง กรณีทดสอบ TPT จึงสามารถติดตามระบบที่ซับซ้อนมากซึ่งการทดสอบอย่างละเอียดต้องใช้กรณีทดสอบจำนวนมาก ทำให้สามารถค้นหาข้อผิดพลาดในระบบที่กำลังทดสอบได้ด้วยจำนวนกรณีทดสอบที่เหมาะสม
แนวคิดพื้นฐานของระบบ TPT คือการแยกความคล้ายคลึงและความแตกต่างระหว่างกรณีทดสอบ: กรณีทดสอบส่วนใหญ่มีความคล้ายคลึงกันมากในกระบวนการโครงสร้างและสามารถแยกแยะได้ "เพียง" ในรายละเอียดที่สำคัญเพียงไม่กี่อย่าง[ 5 ] TPT ใช้ประโยชน์จากข้อเท็จจริงนี้โดยการสร้างแบบจำลองร่วมกันและใช้โครงสร้างร่วมกัน ในด้านหนึ่งจึงหลีกเลี่ยงความซ้ำซ้อน ในอีกด้านหนึ่ง ทำให้เห็นได้อย่างชัดเจนว่ากรณีทดสอบแตกต่างกันอย่างไร – กล่าวคือแต่ละกรณีทดสอบในแง่มุมใดโดยเฉพาะ ความสามารถในการเปรียบเทียบกรณีทดสอบและภาพรวมจึงได้รับการปรับปรุงในแนวทางนี้ และความสนใจของผู้ทดสอบจะมุ่งเน้นไปที่สิ่งสำคัญ – คุณลักษณะที่แตกต่างกันของกรณีทดสอบ
โครงสร้างแบบลำดับชั้นของกรณีทดสอบทำให้สามารถแบ่งปัญหาทดสอบที่ซับซ้อนออกเป็นปัญหาย่อยๆ ซึ่งจะช่วยปรับปรุงความชัดเจนและคุณภาพของการทดสอบให้ดียิ่งขึ้น
เทคนิคการสร้างแบบจำลองเหล่านี้ช่วยให้ผู้ทดสอบสามารถค้นหากรณีที่เกี่ยวข้องจริง หลีกเลี่ยงความซ้ำซ้อน และติดตามกรณีทดสอบจำนวนมากได้[ 6 ]
การสร้างกรณีทดสอบอัตโนมัติ
TPT มีฟังก์ชันหลายอย่างสำหรับการสร้างกรณีทดสอบโดยอัตโนมัติ:

- กรณีทดสอบจากคลาสสมมูล
- กรณีทดสอบสำหรับการครอบคลุม โมเดล Simulinkโดยใช้การวิเคราะห์แบบคงที่และวิธีการค้นหา[ 7 ]
- สร้างกรณีทดสอบโดยการสร้างลำดับจากตัวแปรของสถานะและการเปลี่ยนผ่านของแบบจำลองทดสอบ
- ทำการทดสอบโดยการแปลงบันทึกการโต้ตอบของผู้ใช้กับระบบที่กำลังทดสอบผ่านทางส่วนติดต่อผู้ใช้แบบกราฟิก (แดชบอร์ด)
การทดสอบปฏิกิริยา
ด้วย TPT แต่ละกรณีทดสอบสามารถตอบสนองต่อพฤติกรรมของระบบได้โดยเฉพาะ[ 8 ]ในระหว่างกระบวนการทดสอบแบบเรียลไทม์ – ตัวอย่างเช่น เพื่อตอบสนองต่อระบบอย่างแม่นยำเมื่อสถานะของระบบบางอย่างเกิดขึ้นหรือสัญญาณเซ็นเซอร์เกินเกณฑ์ที่กำหนด ตัวอย่างเช่น หากต้องการจำลองความล้มเหลวของเซ็นเซอร์สำหรับตัวควบคุมเครื่องยนต์เมื่อความเร็วรอบเดินเบาของเครื่องยนต์เกินขีดจำกัด จะต้องสามารถตอบสนองต่อเหตุการณ์ "ความเร็วรอบเดินเบาของเครื่องยนต์เกินขีดจำกัด" ในคำอธิบายของกรณีทดสอบได้
การดำเนินการทดสอบ
กรณีทดสอบ TPT ถูกสร้างขึ้นโดยไม่ขึ้นอยู่กับการทำงานจริง กรณีทดสอบสามารถดำเนินการได้ในเกือบทุกสภาพแวดล้อมเนื่องจาก แนวคิดของ เครื่องเสมือน (VM) รวมถึง สภาพแวดล้อม แบบเรียลไทม์ตัวอย่างเช่นMATLAB / Simulink , TargetLink , ASCET, C-code , CAN , AUTOSAR , SystemDesk, DaVinci CT, LABCAR, INCA, Software-in-the-Loop (SiL) และHiLดังนั้น TPT จึงเป็นเครื่องมือแบบบูรณาการที่ใช้ในทุกขั้นตอนการทดสอบของการพัฒนา เช่นการทดสอบหน่วยการทดสอบการบูรณาการการทดสอบระบบและ การ ทดสอบ การถดถอย
สำหรับการวิเคราะห์และวัดความครอบคลุมของโค้ด TPT สามารถทำงานร่วมกับเครื่องมือวัดความครอบคลุม เช่น Testwell CTC++ สำหรับโค้ดภาษา Cได้
สามารถใช้ ส่วนติดต่อผู้ใช้แบบกราฟิก (แดชบอร์ด) ที่ปรับแต่งได้ โดยใช้GUI widgets ในการโต้ตอบกับการทดสอบ
เครื่องเสมือน TPT
กรณีทดสอบจำลองใน TPT จะถูกคอมไพล์และตีความระหว่างการดำเนินการทดสอบโดยสิ่งที่เรียกว่าเครื่องเสมือน (VM) VM นี้จะเหมือนกันสำหรับทุกแพลตฟอร์มและทุกการทดสอบ มีเพียงตัวเชื่อมต่อ แพลตฟอร์มเท่านั้น ที่ทำหน้าที่แมปสัญญาณสำหรับแต่ละแอปพลิเคชัน TPT-VM ถูกพัฒนาขึ้นด้วยภาษาANSI Cและต้องการหน่วยความจำเพียงไม่กี่กิโลไบต์ และสามารถทำงานได้โดยไม่ต้องมีการจัดสรรหน่วยความจำแบบไดนามิก ทำให้สามารถนำไปใช้ในสภาพแวดล้อมที่มีทรัพยากรน้อยและเรียบง่ายได้ นอกจากนี้ยังมีAPIสำหรับภาษา Cและ.NETด้วย
เครื่องเสมือน (Virtual Machine) ของ TPT สามารถประมวลผลการทดสอบแบบเรียลไทม์ด้วยพฤติกรรมการตอบสนองที่กำหนดไว้ โดยปกติแล้วเวลาตอบสนองของกรณีทดสอบ TPT จะอยู่ในช่วงไมโครวินาที ขึ้นอยู่กับความซับซ้อนและฮาร์ดแวร์ที่ใช้ในการทดสอบ
การประเมินผลการทดสอบตามโปรแกรม
พฤติกรรมของระบบที่คาดหวังสำหรับกรณีทดสอบแต่ละกรณีควรได้รับการทดสอบโดยอัตโนมัติด้วย เพื่อให้มั่นใจได้ว่ากระบวนการทดสอบมีประสิทธิภาพ TPT มีความเป็นไปได้ในการคำนวณคุณสมบัติของพฤติกรรมที่คาดหวังได้ทั้งแบบออนไลน์ (ระหว่างการดำเนินการทดสอบ) และแบบออฟไลน์ (หลังจากดำเนินการทดสอบเสร็จสิ้น) ในขณะที่การประเมินแบบออนไลน์ใช้เทคนิคการสร้างแบบจำลองเดียวกันกับการสร้างแบบจำลองการทดสอบ การประเมินแบบออฟไลน์มีศักยภาพที่กว้างไกลกว่ามากสำหรับการประเมินที่ซับซ้อนกว่า รวมถึงการดำเนินการต่างๆ เช่น การเปรียบเทียบกับข้อมูลอ้างอิงภายนอก การตรวจสอบค่าขีดจำกัด ตัวกรองสัญญาณ การวิเคราะห์ลำดับสถานะ และเงื่อนไขเวลา
ในทางเทคนิคแล้ว การประเมินผลแบบออฟไลน์นั้นใช้ ภาษาสคริปต์ Pythonซึ่งได้รับการขยายเพิ่มเติมด้วยองค์ประกอบทางไวยากรณ์เฉพาะและไลบรารีการประเมินผลเฉพาะทาง เพื่อให้การสนับสนุนการประเมินผลการทดสอบอย่างเหมาะสมที่สุด การใช้ภาษาสคริปต์ช่วยให้การประเมินผลการทดสอบมีความยืดหยุ่นสูง: สามารถเข้าถึงข้อมูลอ้างอิง สื่อสารกับเครื่องมืออื่นๆ และพัฒนาไลบรารีเฉพาะด้านสำหรับการประเมินผลการทดสอบได้ นอกจากนี้ อินเทอร์เฟซผู้ใช้สำหรับการประเมินผลการทดสอบยังช่วยให้เข้าถึงการประเมินผลการทดสอบได้ง่าย และช่วยให้ผู้ที่ไม่ใช่โปรแกรมเมอร์หลีกเลี่ยงการเขียนสคริปต์ได้
ข้อมูลการวัดจากแหล่งอื่น เช่น การบันทึกสัญญาณ จาก TargetLinkและSimulinkหรือข้อมูลการวัดจาก MCD-3 สามารถประเมินได้โดยอัตโนมัติ ข้อมูลเหล่านี้สามารถเป็นอิสระจากการดำเนินการทดสอบได้
เอกสารการทดสอบ
เอกสารการทดสอบ TPT ตามมาตรฐานIEEE 829นำเสนอผลการประเมินการทดสอบแก่ผู้ทดสอบในรูปแบบรายงาน HTML ซึ่งไม่เพียงแต่แสดงข้อมูล "สำเร็จ" "ล้มเหลว" หรือ "ไม่ทราบ" เป็นผลการทดสอบสำหรับแต่ละกรณีทดสอบเท่านั้น แต่ยังรวมถึงรายละเอียดต่างๆ เช่น พารามิเตอร์ลักษณะเฉพาะหรือสัญญาณที่สังเกตได้ระหว่างการทดสอบหรือคำนวณได้ในการประเมินการทดสอบ เนื่องจากผลการประเมินการทดสอบให้ข้อมูลที่ถูกต้องเกี่ยวกับเวลาและพฤติกรรมที่ตรวจสอบ ข้อมูลเหล่านี้จึงสามารถนำเสนอในรายงานได้ เนื้อหาและโครงสร้างของเอกสารการทดสอบสามารถกำหนดค่าได้อย่างอิสระโดยใช้เทมเพลต
การจัดการทดสอบ
TPT สนับสนุนการบริหารจัดการการทดสอบของโครงการทดสอบ TPT ด้วยกิจกรรมดังต่อไปนี้:
- การพัฒนาชุดทดสอบในโครงการทดสอบ
- การวางแผนการทดสอบผ่านการกำหนดค่าชุดทดสอบและการกำหนดค่าการดำเนินการทดสอบ
- การดำเนินการทดสอบและการประเมินผล (การตรวจสอบ) โดยอัตโนมัติในแคมเปญทดสอบ
- การรายงานผลการทดสอบ (รายละเอียดสำหรับการทดสอบแต่ละครั้ง)
- การรายงานสรุปผลการทดสอบในช่วงรอบการเผยแพร่ที่แตกต่างกัน และ
- การตรวจสอบย้อนกลับของข้อกำหนด การทดสอบ การทดสอบที่ดำเนินการ และผลการทดสอบ
การติดตามความต้องการ
มาตรฐานอุตสาหกรรม เช่นIEC 61508 , DO-178B , EN 50128 และISO 26262กำหนดให้ต้องมีการตรวจสอบย้อนกลับของข้อกำหนดและการทดสอบ TPT มีอินเทอร์เฟซสำหรับเครื่องมือจัดการข้อกำหนด เช่น Telelogic DOORS เพื่อสนับสนุนกิจกรรมเหล่านี้
แอปพลิเคชัน
TPT เป็นเครื่องมือทดสอบแบบจำลอง และนำไปใช้เป็นหลักในการพัฒนาตัวควบคุมยานยนต์[ 9 ]และได้รับการพัฒนาขึ้นครั้งแรกภายในDaimler AGเพื่อการพัฒนาของตนเอง Daimler ได้ประสานงานการพัฒนาเครื่องมือทดสอบนี้เป็นเวลาหลายปี[ 10 ]ตั้งแต่ปี 2007 PikeTec ได้ดำเนินการพัฒนาเครื่องมือนี้ต่อไป TPT ถูกใช้โดยผู้ผลิตรถยนต์รายอื่นๆ อีกมากมาย เช่นBMW , Volkswagen , Audi , PorscheและGeneral Motorsรวมถึงซัพพลายเออร์เช่นRobert Bosch GmbH , ContinentalและHella [ 11 ]
ลิงก์ภายนอก
- ทีพีที
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ TPT (ซอฟต์แวร์)
TPT ( การทดสอบการแบ่งเวลา ) เป็น วิธี การทดสอบ ที่เป็นระบบ สำหรับ การทดสอบซอฟต์แวร์ อัตโนมัติ และ การตรวจสอบ ระบบ ควบคุมแบบฝังตัว ระบบ ไซเบอร์-กายภาพ และ โปรแกรมการไหลของข้อมูล...
กรณีทดสอบกราฟิก
ในการทดสอบ TPT จะมีการจำลองแบบกราฟิกโดยใช้เครื่องสถานะพิเศษและการแบ่งเวลา [ 1 ] [ 3 ] กรณีทดสอบทั้งหมดสำหรับระบบหนึ่งที่กำลังทดสอบสามารถจำลองได้โดยใช้ออโตมาตาไฮบริดหนึ่งตัว การทดสอบมักประกอบด้วยลำดับของขั้นตอนเชิงตรรกะ สถานะ ของ เครื่องสถานะจำกัด...
การสร้างแบบจำลองลำดับอย่างง่าย: รายการขั้นตอนการทดสอบ
ด้วยการใช้รายการขั้นตอนการทดสอบ (Test-Step List) เราสามารถสร้างแบบจำลองลำดับขั้นตอนการทดสอบง่ายๆ ที่ไม่จำเป็นต้องดำเนินการพร้อมกัน เช่น การตั้งค่าสัญญาณ (Set channel), การปรับสัญญาณ (Ramp channel), การตั้งค่าพารามิเตอร์ (Set parameter) และการรอ (Wait)...
คำจำกัดความของสัญญาณโดยตรง: คำจำกัดความโดยตรง
ภายในรายการขั้นตอนการทดสอบ (Test-Step-List) สามารถใช้งานสิ่งที่เรียกว่า "คำจำกัดความโดยตรง" (Direct Definitions) ได้ โดยใช้การสร้างแบบจำลองประเภทนี้ เราสามารถกำหนดสัญญาณเป็นฟังก์ชันของเวลา ตัวแปรในอดีต/เหตุการณ์การทดสอบ และสัญญาณอื่นๆ ได้...