เรื่องราวความรู้เกี่ยวกับการสร้างดาวเทียมยังมีอีกมากมายหลายขั้นตอนครับ วันนี้แอดมินไม่พลาดที่จะนำสาระความรู้ดีๆจากพี่ๆวิศวกรของ GISTDA มาฝากชาวแฟนเพจอีกเช่นเคย วันนี้..แอดมินนำเสนอเป็นเรื่องราวเกี่ยวกับการทดสอบซอฟแวร์ เชื่อว่าหลายๆคนที่เคยทำงานเกี่ยวกับการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ไม่ว่าจะเป็นการออกแบบเว็บไซต์, การทำแอปพลิเคชั่น, การเขียนชุดคำสั่งหรือแม้กระทั่งการออกแบบระบบที่เราต้องการใช้งาน มักจะต้องเจอกับสิ่งที่เรียกว่าการทำ “Manual testing” ซึ่งก็คือการทำการทดสอบโปรแกรมที่เราเขียนขึ้นมา โดยการทำ “Manual testing” นั้นอาจจะเกิดขึ้นหลังจากที่ตัวโปรแกรมเสร็จสมบูรณ์ หรือมีการเปลี่ยนแปลงภายในโปรแกรม หรือมีการเพิ่มกระบวนการบางอย่างเข้าไปในโปรแกรมนั้นๆเพิ่มเติม ในการทำการทดสอบอาจจะมีการส่งค่าใดค่าหนึ่งเข้าไปในโปรแกรมที่เราต้องการจะทดสอบทีละค่าและดูผลลัพธ์ที่ได้ออกมา ทำอย่างนั้นวนไปเรื่อยๆทีละค่าจนเสร็จสิ้นการทดสอบ แต่หากค่าข้อมูลต่างๆที่เราต้องการจะทดสอบนั้นมีค่าประมาณ 100 หรือ 1000 ค่าขึ้นไปละ... เราจะทำอย่างไร? เพื่อให้การทดสอบนั้นรวดเร็วขึ้นและสามารถลดความผิดพลาดของมนุษย์ลงได้ นั่นก็คือ การใช้วิธี “Unit Testing” นั่นเองครับ
“Unit Testing” คืออะไร?
“Unit Testing” คือซอฟต์แวร์ชนิดหนึ่งที่ทดสอบการทำของซอฟต์แวร์ หรือองค์ประกอบของซอฟต์แวร์นั้นๆ พูดกันตามตรงก็คือ ซอฟต์แวร์ที่ใช้ทดสอบซอฟต์แวร์ หรือ โปรแกรมที่ใช้ทดสอบโปรแกรมนั่นเองครับ จุดประสงค์ของการทำ “Unit Testing” นั้นคือ เพื่อทำการทดสอบและตรวจสอบการทำงานว่าสามารถทำได้อย่างที่คาดหวังไว้ หรือตั้งเป้าไว้ได้หรือไม่ โดยปกติแล้วการทำ “Unit Testing” จะทำในช่วงที่เรากำลังพัฒนาซอฟต์แวร์โดยจะทำการทดสอบความถูกต้องแต่ละส่วนของโปรแกรม ตัวของ “Unit Testing” จะมี “UnitTest framework” หรือชุดคำสั่งที่นักพัฒนาซอฟต์แวร์ได้ทำไว้เพื่อทำการทดสอบแบบอัตโนมัติและมีด้วยกันหลายภาษา ตัวอย่างของ “UnitTest framework” ได้แก่ Unit test , Pytest ที่เป็นภาษา Python หรือ Google Test, Catch ที่เป็นภาษา C++ เป็นต้นครับ ทั้งนี้ ตัวของ “Unit Testing” นั้นก็มีข้อควรระวังอยู่เช่นกัน คือการออกแบบตัว Unit test และการออกแบบการทดสอบ เนื่องจากว่าถ้าตัว Unit test ที่เราทำขึ้นมามีข้อผิดพลาดหรือไม่ได้ตรงกับสิ่งที่เราต้องการจะทดสอบ การทดสอบโดยการใช้ Unit test นั้นอาจจะเป็นการเพิ่มเวลา หรือเสียเวลาในการพัฒนาชิ้นงานนี้ก็เป็นได้ครับ
ในดาวเทียม THEOS-2 SmallSAT ได้มีกรณีที่ใช้งาน “Unit Testing” เข้ามาช่วยในส่วนนี้ นั่นก็คือการทดสอบซอฟต์แวร์ของ 3rd Payload ซึ่งเป็นอุปกรณ์ที่ออกแบบและสร้างขึ้นโดยวิศวกร Theos-2 ของเรานั่นเองครับ โดยใช้ framework ที่เรียกว่า Pytest ในการพัฒนา หลักการการทดสอบเบื้องต้นคือ ความต้องการในการส่งชุดคำสั่งที่ใช้ในการเริ่มทำงานของอุปกรณ์ต่างๆและตรวจสอบค่าที่อุปกรณ์นั้นๆได้ส่งกลับมา จากการที่ได้ทดสอบซอฟต์แวร์ด้วยตัว “Unit Testing” นั้นทำให้สามารถลดระยะเวลาในการทดสอบและมีผลการทดสอบที่สามารถเปรียบเทียบได้อย่างชัดเจน ซึ่งในส่วนนี้จะนำหลักการและขั้นตอนในการออกแบบตัว “Unit Testing” ไปใช้ในทดสอบซอฟต์แวร์ในอนาคตต่อไปครับ เรื่องราวสาระน่ารู้เกี่ยวกับดาวเทียมยังไม่หมดนะครับ แอดมินจะนำความรู้ดีๆมาส่งต่อให้ชาวแฟนเพจได้รับความรู้ไปด้วยกันครับ ส่วนครั้งต่อไปจะเป็นในเรื่องของอะไรนั้น อย่าลืม..!! ติดตามกันนะครับ
ขอบคุณข้อมูลจาก
นายนราวิชญ์ สร้อยผาบ
Simulator Operator Engineer โครงการ THEOS-2 Small Sat
This website uses cookies. Our website creates and utilizes cookie data in order for your visit to be smooth, efficient, and private. Please read our cookie policy and GISTDA's personal data protection policy for further detail.
This website uses cookies. Our website creates and utilizes cookie data in order for your visit to be smooth, efficient, and private. Please read our cookie policy and GISTDA's personal data protection policy for further detail.