Performance Testing นั้น…สำคัญไฉน ตอนความจริงวันนี้

คลิกที่รูป เพื่อเอาโค้ดรูปนี้ไปแปะ
[ของตกแต่งโดนๆคลิกเลย]

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

กลับเข้าสู่เรื่องของ Performance Testing เลยละกัน หลังจากที่ไม่ได้เขียนเรื่องลงใน We Love Bug มานานเลยทีเดียว เช้าวันนี้เลยชงกาแฟ นั่งจิบไป จรดปลายนิ้วลงบนแป้น Keyboard พื่อเขียนเรื่องลงประเดิมอาทิตย์นี้เลยละกันครับ ก็ต่อเนื่องจากตอนที่ 1 ของ Performance Testing นั้น…สำคัญไฉน

ความจริงวันนี้

ย้อนกลับไปราวๆ 3 ถึง 4 ปี ที่ผ่านมาต้องยอมรับกันจริงๆ ในการพัฒนา Software ขึ้นมาตั้งแต่ขั้นตอนการวิเคราะห์ และออกแบบ Software จนกระทั่งดำเนินการพัฒนา Software ออกมานั้น ส่วนใหญ่มักจะละเลย หรือมองข้ามเรื่องของ ประสิทธิภาพ (Performance) และเสถียรภาพ (Stability) ของระบบ ซึ่งส่วนใหญ่มักจะเน้นไปที่เรื่องของ Functionality ของ Software มากกว่า ในทางกลับกันเจ้าของโครงการ หรือผู้ให้ Requirement ก็มิได้เน้นเรื่องจของ Performance และ Stability ของ Software ด้วยเช่นกัน ไม่ว่าจะเกิดจากความไม่รู้ หรือเหตุผลใดๆ

ปัญหาเรื่อง Performance และ Stability ถ้าจะเปรียบกับระเบิดเวลาลูกหย่อมๆ หรือไม่ก็ลูกโตๆ เลยก็ว่าได้ (จากประสบการณ์ที่พานพบมา) ปัญหาเรื่องของ Performance และ Stability ของ Software มักจะเริ่มออกดอกออกผลปรากฏให้เห็นเด่นชัดเมื่อ Software นั้นถูก Deploy ขึ้นไปยัง Production เพื่อให้บริการจริงๆ กับผู้ใช้ (User) ทั้งภายใน หรือภายนอกองค์กร

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


ผลกระทบที่เกิดขึ้น

เมื่อ Software เกิดปัญหา Performance และ Stability ขึ้นนั้น ส่วนใหญ่มักจะส่งผลต่อ Functionality ของ Software ด้วยเช่นกัน ผลกระทบที่เกิดขึ้นนั้นจากประสบการณ์ที่ผ่านมาทั้งโดยตรงกับตัวผู้เขียนเอง และประสบการณ์จากเพื่อนพ้องน้องพี่ในแวดวง Software Tester และ Software Development มักจะส่งผลโดยตรงกับความเชื่อมั่นของผู้ใช้บริการ และภาพลักษณ์ขององค์กรโดยตรง

หากคุณเป็น Software House ที่รับงานจากบริษัทใหญ่ๆ มาเพื่อพัฒนา Software และเมื่อส่งมอบไปแล้ว Software ของคุณสร้างปัญหา Performance และ Stability ขึ้น ผลกระทบที่เกิดขึ้นไม่ใช่เพียงแค่บริษัทใหญ่ๆ จะหมดความน่าเชื่อถือในตัวคุณ แต่ภาพลักษณ์ และความเชื่อมั่นของบริษัทใหญ่ๆ ที่ผู้ใช้บริการมีก็จะส่งผลกระทบไปด้วยเช่นกัน

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

ใครผิด?

เมื่อเกิดปัญหาก็ต้องหาสาเหตุ และผู้ที่รับผิดชอบ ขึ้นมาทันที ซึ่งนับเป็น Classic Case เลยก็ว่าได้ที่หวยจะไปออกที่ System Analysis หรือไม่ก็ Developer หรือไม่ก็ Tester (หากหาที่ Landing ไม่ได้ :P ) และเมื่อเริ่มที่จะหาผู้รับผิดชอบก็จะเกิดการโยนเกิดขึ้นทันที จริงๆ แล้วนั้นถ้าจะหาว่าใครผิด หรือใครจะต้องรับผิดชอบ จากประสบการณ์ผู้เขียนที่ผ่านมานั้น จะต้องรับผิดชอบร่วมกันหมดทุกๆ คน ที่เกี่ยวข้องกับ Software นั้น เพราะว่าในทุกๆ ขั้นตอนของการพัฒนา Software (Software Development Life Cycle หรือ SDLC) จะต้องให้ความสำคัญกับเรื่องของ Performance และ Stability ของ Software ร่วมกัน มิใช่ความผิดของใครคนใดคนหนึ่ง

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

To Be Continue…

ส่วนใหญ่เพื่อนพ้องน้องพี่ที่อยู่ในแวดวง Software Development และ Software Tester จะเข้าใจว่า Performance Testing ทำเมื่อเสร็จสิ้นการการทดสอบ System Testing และ Regression Testing แล้วนั้น ก็ไม่ใช่สิ่งที่ผิด แต่มันอาจจะสายเกินไปที่ปัญหา Performance และ Stability จะถูกตรวจพบ และแก้ไขได้อย่างทันท่วงที

ในตอนต่อไปเราจะมาคุยกันว่า Performance Testing ควรจะเริ่มทำเมื่อใด ครับ

3 Responses to Performance Testing นั้น…สำคัญไฉน ตอนความจริงวันนี้

  1. johnhong says:

    ขอบคุณสำหรับข้อมูลดีๆมีประโยชน์กำลังจะศึกษาเรื่อง performance test

  2. kritsada says:

    ขออนุญาตออกความคิดเห็นล่วงหน้านะครับ

    คำว่าเริ่มทำสำหรับ performance testing นั้นควรจะต้องเริ่มทำตั้งแต่ตอนที่เขียน master test plan แล้ว ว่าใครจะเป็นคนทำ ทำเมื่อไหร่ จะมี scope ยังไงบ้าง หรือในกรณีที่เป็นระบบขนาดใหญ่ก็อาจจะต้องมี Detailed Performance Test Plan ขึ้นมาอีกชุดต่างหาก

    ส่วนในขั้นตอนของการ execute นั้นก็ควรจะผ่าน system test หรือ system integration test มาแล้ว หากงานค่อนข้างเร่งก็น่าจะให้ผ่าน system integration test มาแล้วอย่างน้อยซักรอบหรือสองรอบก็ยังดี เพื่อที่จะไม่ให้ error ที่เกิดจาก function ของ application นั้น ๆ มีผลต่อ performance testing ครับ

  3. kira7 says:

    เอาตอนต่อไปมาลงเร็วนะครับ อยากอ่านต่อมาก

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>