Functional Automated Test

Functional Automated Test

ปัจจุบัน การทดสอบซอฟต์แวร์ถือเป็นเรื่องที่สำคัญมากในธุรกิจ ไม่ว่าจะเพื่อประสิทธิภาพในการทำงานของระบบ เพื่อการส่งมอบซอฟต์แวร์การทดสอบซอฟต์แวร์นั้นถือเป็นกระบวนการอย่างหนึ่งในการพัฒนาซอฟต์แวร์ เพื่อหาข้อผิดพลาดและป้องกันข้อผิดพลาดที่จะเกิดขึ้น และช่วยให้ซอฟต์แวร์ที่พัฒนานั้น มีประสิทธิภาพในการทำงานด้านต่าง ๆ มากขึ้น ในการทดสอบ Software (Software Testing) จึงจำเป็นที่จะต้องคำนึงถึง SDLC (Software Development Life Cycle) ซึ่งเป็นหัวใจในการพัฒนา Software/ Application ในการทำ Software/Application Testing ก็เป็นหนึ่งในขั้นตอนที่จำเป็นและสามารถเพิ่มคุณภาพ ประสิทธิภาพ และความรวดเร็วในการพัฒนา Software Automated Test Function จึงเป็นทางเลือกในการทดสอบประสิทธิภาพในการทำงานของ Software/Application ช่วยให้ Software Developer ทราบถึงประสิทธิภาพในการทำงานของ Software/Application ที่ได้มีการพัฒนาขึ้นมา ไม่ว่าจะเป็นในเรื่องของ

1. Accuracy ความถูกต้องแม่นยำของ Software/Application ในการทำงานตามความต้องการของ USER
2. Reliability ความหน้าชื่อถือของ Software/ Application ที่ผ่านการทดสอบอย่างถูกต้อง
3. Predictability การป้องกันความผิดพลาดที่จะเกิดขึ้นในอนาคต

Software Testing หรือ Functional Testing ในปัจจุบันทำได้ 2 วิธีคือ

Manual Testing คือ การใช้คนในทดสอบระบบตามการทำงานที่เตรียมไว้

Automate testing คือ การใช้ เครื่องมือหรือ AI มาทำการทดสอบแทนคน

RPA-02

Automated VS Manual Test

Reusability สามารถนำ Robot หรือ AI กลับมาทดสอบหลายๆ รอบโดยสามารถลดแรงงานคและนำคนไปทำงานอื่นๆ ที่มีประโยชน์และประสิทธิภาพ ประสิทธิผลต่อองค์กรและธุรกิจ

    • Consistency การใช้คนทำงานอย่างไรก็ตามมีโอกาสที่จะเกิด Human Error ได้เนื่องจากคนถ้าทำงานติดต่อกันเป็นเวลานานจะเกิดความเหนื่อยล้าจะทำให้เกิดความผิดพลาดเล็กๆ น้อยๆ ได้ และ อีกสิ่งหนึ่งคือรายงานที่เกิดขึ้นจากคนจะมีการผิดพลาดหรือเจตนาใส่ผลลัพธ์ที่ผิดได้ ซึ่งต่างจาก AI แม่นยำและเที่ยงตรง
    • Productivity ทำงานได้เร็วและต่อเนื่องเป็นเวลานานมากกว่าคนจึงทำให้ผลผลิตที่ได้มากขึ้นต่อวัน

ประเภทในการใช้งาน Automated Test tools

    • Functional testing: การทดสอบซอฟต์แวร์ว่าทำงานได้ถูกต้องตามสิ่งคาดหวังไว้
    • Regression testing: การทดสอบระบบในการทำงานซ้ำๆ กันโดยใช้ข้อมูลที่ต่างกันในจำนวนมากเพื่อทำให้มั่นใจว่าข้อมูลที่จะเกิดหรือได้ระบบเข้าในระบบจะไม่ทำให้ระบบทำงานผิดพลาด
    • Increase Test Coverage: เครื่องมือหรือ AI สามารถทำงานได้ 7×24 โดยไม่หยุดพักจะทำให้เราสามารถทดสอบระบบได้ครอบคลุมและมั่นใจว่าระบบถูกต้องในระยะวันเวลาที่จำกัด
    • User acceptance test (UAT):  การทดสอบระบบในส่วนนี้จะต้องใช้ผู้ใช้งานจริงมาทดสอบระบบในบางครั้งระยะเวลาที่จำกัดทำให้ผู้ใช้ทดสอบระบบได้ไม่ครอบคลุมตามข้อฒุลที่ต้องการ Automated test หรือ AI จะเข้ามาช่วยทดสอบและบันทึก VDO และผลลัพธ์ในการทดสอบเก็บไว้ผู้ใช้งานสามารถตรวจสอบความถูกต้องจาก VDO และ Excel ที่เก็บผลลัพธ์ไว้
    • Amount of Data Being Tested: การทดสอบในระบบที่ต้องใช้จำนวนข้อมูลเยอะๆ ในการทำงานเดิมๆ ซ้ำแล้วซ้ำอีก AI มาลดระยะเวลาและเพิ่มความถูกต้องได้มาก
    • Test Maintenance: มีหลายๆ องค์กรจะใช้พนักงานในการทดสอบระบบทุกๆ เช้าก่อนที่ผู้ใช้งานจะเข้ามาใช้ว่าระบบยังทำงานได้หรือไม่เราสามารถใช้ AI ตั้งเวลาให้ทำงานแทนคนในทุกวันได้
    • Data Entry: การทำงานบางครั้งเราอาจจะต้องการข้อมูลเริ่มจำนวนมากมายมหาศาลในการทำงานต่อไปการใช้แรงงานคนใส่ข้อมูลเข้าในระบบเป็นอะไรเสียเวลาและกำลังคนอย่างมากเราสามารถใช้ AI เข้ามาทำงานแทน
    • Replace Human activity: ในการทำงานที่มีขั้นตอนชัดเจนซ้ำๆ กันเป็นประจำทุกครั้งเราสามารถให้ AI เข้ามาทำงานแทนได้
    • Data reconciliation: สามารถใช้ AI ในการตรวจสอบข้อมูลจาก 2 แหล่งที่มาว่าเหมือนกันหรือไม่
    • Data migration: ใช้ automated test tools ในการย้าย Data ข้อมูลจากระบบหนึ่งไปอีกระบบหนึ่ง

มีเพียง 4 ขั้นตอนง่ายๆ

    1. Prepare: ทางบริษัทสามารถแนะนำขั้นตอนการจัดเตรียมข้อมูลและตรวจสอบระบบก่อนการทำงาน Automated หรือวิธีจัดเตรียม Data
    2. Create: บริษัทมีผู้เชี่ยวชาญในการสร้าง AI ให้ท างานตามขั้นตอน
    3. Verify: ปรับปรุง AI ที่เราสร้างไว้ให้สามารถทำงานตามเงื่อนไขของระบบได้
    4. Integrate: ทำให้ AI สามารถส่งผ่านข้อมูลต่างตามฟังก์ชั่นการทำงานทั้งภายในระบบและระบบที่เกี่ยวข้อง

การทำ Automate Test แบ่งออกเป็นหลาย Use case ได้แก่