Performance Validation

Performance Validation

การพัฒนา software ในปัจจุบัน ที่จะต้องรองรับการใช้งานของจำนวนคนจำนวนมาก ธุรกิจจำเป็นจะต้องมีการทดสอบระบบเพื่อให้ทราบว่าระบบที่เราพัฒนานั้น สามารถที่จะรองรับการใช้งานของผู้ใช้งานให้ได้มาก และมีประสิทธิภาพที่สุด โดยเกณฑ์ตัวชี้วัดหลากหลายแบบ ไม่ว่าจะเป็น

    • Transaction Response Time
    • Number of User Concurrent
    • Transaction Pass per Hour
    • System Resource Usage
    • Maximum Bandwidth

โดยวัตถุประสงค์หลักในการทดสอบ คือการทดสอบประสิทธิภาพ และทำการประเมินวิธีเคราะห์หาสาเหตุปัญหาที่อาจเกิดขึ้น และ ทำการแก้ไขก่อนการใช้งานจริง Performance Validation จึงเป็นเครื่องมือที่ช่วยวิเคราะห์ตัวอย่างการทำงานของระบบต่างๆ เพื่อให้ระบบมีการทำงานที่ถูกต้อง แม่นยำ เชื่อถือได้ ตามวัตถุประสงค์ที่กำหนด

Performance-validation-01

Performance Validation แบบต่างๆ

1.Performance Test ทำการทดสอบ load เพื่อทดสอบประสิทธิภาพ ภายใต้จำนวนผู้ใช้งานประมาณ 20-50% และ จะทำการทดสอบ Business process เป็นส่วนๆ เพื่อตรวจดู error และประสิทธิภาพเบื้องต้น และยังสนับสนุนการปรับแก้ระบบให้ทำได้โดยง่าย

2.Load Support ทำการทดสอบ load เพื่อทดสอบประสิทธิภาพ ภายใต้จำนวนผู้ใช้ที่คาดว่าจะเกิดขึ้นในระบบเมื่อถูกนำไปใช้งานจริง และ จะทำการทดสอบ Business process ที่สำคัญทั้งหมดร่วมกัน เพื่อตรวจวัดประสิทธิภาพยันกับเป้าหมาย

3.Overload behavior: Future growth ทำการทดสอบ Load เพื่อทดสอบประสิทธิภาพ ภายใต้เงื่อนไขจำนวน User ตามเปอร์เซ็นที่ความว่าจะเกิดขึ้นในแต่ละปี เช่นผู้ใช้งานจะเพิ่มขึ้น 15% ในทุกๆปี ข้อมูลในฐานข้อมูลใหญ่ขึ้นตามพื้นฐานของปีนั้นๆ เป็นต้น

4.Overload behavior: Break point การทดสอบ Load เพื่อทดสอบประสิทธิภาพ ภายใต้เงื่อนไขเพิ่มจำนวน User ไปเรื่อยจนกว่าระบบจะไม่สามารถทำตามเงื่อนไขได้ เช่น Transaction Response Time เกินกว่าที่คาดหวังไว้

5.Scalability testing  ทำการทดสอบ Load เพื่อทดสอบประสิทธิภาพ ภายใต้เงื่อนไขการปรับเพิ่มหรือลดขนาดของ Hardware อุปกรณ์ที่เกี่ยวข้อง ระบบที่ทำการเชื่อมต่อด้วย capacity แตกต่างกัน หรือเงื่อนไขอื่นๆ เพื่อดูว่าประสิทธิภาพการทำงานยังเป็นไปตามที่คาดไว้หรือไม่

6.Reliability testing ทำการทดสอบ Load เพื่อทดสอบประสิทธิภาพ ภายใต้เงื่อนไขการทดสอบในระยะเวลายาวเพื่อจะทราบว่าระบบสามารถทำงานได้ต่อเนื่องเช่น การทดสอบ load ต่อเนื่อง 24ชั่วโมง

7.Performance monitoring ทำการตรวจวัดประสิทธิภาพระบบที่ใช้งานจริงตามเงื่อนไขการบำรุงรักษาและรับประกัน โดยใช่เครื่องมือที่มีผลกระทบกับระบบน้อยที่สุดหรืออย่างมาก ไม่เกิน 3% capacity ของระบบที่ใช้งานอยู่ รวมทั้งทำรายงานประสิทธิภาพยืนยันกับ agreement ต่างๆ

— และอื่นๆ —

6 ขั้นตอนสำหรับการทำ Performance Validation ในแบบต่างๆ

Step 1 : Assessment ระบบที่ต้องการทำงานทดสอบ เพื่อประเมินวิเคราะห์เพื่อสร้าง Test Case และ business process และกำหนดเงื่อนไขการทดสอบตาม Requirement ของลูกค้า

Step 2 : สร้าง Performance Test Script ตาม Test case และ Business process

Step 3 : จัดเตรียม Data บนระบบที่ต้องการทดสอบเพื่อสามารถนำมาใช้กับ Business process ต่างๆได้ และใช้เป็น payload ของระบบ

Step 4 : สร้าง Test Scenario และกำหนดเป้าหมายของแต่ละ Test Scenario และ เตรียม Monitoring tools

Step 5 : Execute test ตรวจวัด capacity แบบ real time และเก็บผล

Step 6 : วิเคราะห์ผลการทดสอบและแนะนำแนวทางการแก้ไข

* โดยที่ scenario
ในการทำ performance validation แบบต่าง ๆ จะถูกตีความและกำหนดเงื่อนไขหรือตัวแปรแตกต่างกัน อาทิเช่น

    • Performance Test: ใช้จำนวน user load ไม่มาก อาจจะประมาณ 20 – 50% และในเวลาไม่นาน
    • Load Support: ใช้จำนวน user load และเวลาตามเป้าหมายที่กำหนดเพื่อให้ผลทดสอบตรงตามเงื่อนไข
    • Overload behavior- Future growth: ใช้จำนวน user load มากกว่าที่ตั้งเป้าหมายไว้ตามเปอร์เซ็นการเติบโตของผู้ใช้งานในแต่ละปี
    • Overload behavior- Break point: ใช้จำนวน user load มากกว่าที่ตั้งเป้าหมายไว้จนกว่าระบบจะไม่สามารถทำงานได้ภายใต้เงื่อนไข (break point) ที่กำหนด
    • Scalability testing: ใช้จำนวน user load ตามเป้าหมาย แต่มีการปรับเพิ่ม/ลด environment ตามเงื่อนไขต่างๆ
    • Reliability testing: ใช้จำนวน user load ตามเป้าหมายแต่เพิ่มระยะเวลาการทดสอบให้ครอบคลุมเงื่อนไข

Performance Validation Use Case