กลับไปหน้าบทความ

อ่าน 4 นาที

TPT (ซอฟต์แวร์)

TPT ( การทดสอบการแบ่งเวลา ) เป็น วิธี การทดสอบ ที่เป็นระบบ สำหรับ การทดสอบซอฟต์แวร์ อัตโนมัติ และ การตรวจสอบ ระบบ ควบคุมแบบฝังตัว ระบบ ไซเบอร์-กายภาพ และ โปรแกรมการไหลของข้อมูล...

TPT (ซอฟต์แวร์)

การทดสอบแบบแบ่งช่วงเวลา (TPT)
นักพัฒนาบริษัท ซินอปซิส อิงค์
เวอร์ชันเสถียร
2024.12 / ธันวาคม 2024 ( 2024-12 )
ระบบปฏิบัติการวินโดวส์
มีจำหน่ายในภาษาอังกฤษ
พิมพ์การทดสอบซอฟต์แวร์
ใบอนุญาตกรรมสิทธิ์
เว็บไซต์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 มีฟังก์ชันหลายอย่างสำหรับการสร้างกรณีทดสอบโดยอัตโนมัติ:

การทดสอบด้วยตนเองแบบโต้ตอบด้วย TPT-Dashboard
  • กรณีทดสอบจากคลาสสมมูล
  • กรณีทดสอบสำหรับการครอบคลุม โมเดล 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 ]

  • ทีพีที
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=TPT_(software)&oldid=1306186695 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ TPT (ซอฟต์แวร์)

TPT ( การทดสอบการแบ่งเวลา ) เป็น วิธี การทดสอบ ที่เป็นระบบ สำหรับ การทดสอบซอฟต์แวร์ อัตโนมัติ และ การตรวจสอบ ระบบ ควบคุมแบบฝังตัว ระบบ ไซเบอร์-กายภาพ และ โปรแกรมการไหลของข้อมูล...

กรณีทดสอบกราฟิก

ในการทดสอบ TPT จะมีการจำลองแบบกราฟิกโดยใช้เครื่องสถานะพิเศษและการแบ่งเวลา [ 1 ] [ 3 ] กรณีทดสอบทั้งหมดสำหรับระบบหนึ่งที่กำลังทดสอบสามารถจำลองได้โดยใช้ออโตมาตาไฮบริดหนึ่งตัว การทดสอบมักประกอบด้วยลำดับของขั้นตอนเชิงตรรกะ สถานะ ของ เครื่องสถานะจำกัด...

การสร้างแบบจำลองลำดับอย่างง่าย: รายการขั้นตอนการทดสอบ

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

คำจำกัดความของสัญญาณโดยตรง: คำจำกัดความโดยตรง

ภายในรายการขั้นตอนการทดสอบ (Test-Step-List) สามารถใช้งานสิ่งที่เรียกว่า "คำจำกัดความโดยตรง" (Direct Definitions) ได้ โดยใช้การสร้างแบบจำลองประเภทนี้ เราสามารถกำหนดสัญญาณเป็นฟังก์ชันของเวลา ตัวแปรในอดีต/เหตุการณ์การทดสอบ และสัญญาณอื่นๆ ได้...