มุมมอง Programming+Testing กับความรัก

พอดีว่าวันนี้มีโอกาสได้คุยกับเพื่อนคนนึงครับ เค้าให้แง่คิดดีดีครับที่เอามาดัดแปลงการ Programming/Testing มาเปรียบเทียบด้วยมุมมองเกี่ยวกับความรัก ผมเลยผสมโรงด้วยเลย กลายเป็นสนุกไปครับ…

ลองๆ อ่านดูนะครับ แต่อย่าไปคิดอะไรมากครับ ทุกอย่างเกิดขึ้นและดับไป

  • ตัวเราเองต้องรู้จัก Analyze, Requirement gathering(เก็บความต้องการของเรา) ให้ดีก่อนจะ Develop และ Implement เรื่องความสัมพันธ์ แต่อย่าลืมเรื่อง Testing ด้วย ถ้าขาดเรื่อง Testing สุดท้ายมันก็เปล่าประโยชน์ จบไม่สวย ส่งของให้ลูกค้าไม่ได้
  • Best practice เกิดขึ้นได้เสมอในโลก IT เหมือนในชีวิตเราถ้าไม่เคยพบกับปัญหา อนาคตเราเจอก็จะไม่รู้ว่าต้องทำตัวอย่างไร
  • Compatible (การเข้ากันได้) นี่ก็สำคัญ พวก Programmer มักไม่ค่อยคิดกัน คิดแต่จะ Program กันแต่ platform ที่ตัวเองใช้ โดยไม่คิดถึงว่าคนรอบข้างเค้าใช้ platform ไหนอยู่ เช่น เขียนโปรแกรมมาซะหน้าตาสวยหรูดี แต่ใช้งานบน windows 7 ไม่ได้ ดันใช้ได้แต่ Windows 98 ดังนั้น เราต้องรู้ว่ามีใครเค้าใช้ระบบอะไรบ้างในการใช้งานจริงๆ
  • ถ้าใช้งานไม่ได้จริงๆ เราก็แก้ Code กัน ถ้าเป็น Bug เล็กๆน้อยๆ ก็คงแก้ไม่ยาก แต่แก้เรื่อง Compatible นี่คงใช้เวลานาน อาจต้องรื้อ Code ใหม่หมด ซึ่งเสียเวลาโดยเปล่าประโยชน์
  • การแก้ Code มันย่อมมีการไปกระทบกับ Module ที่ทำงานอื่นที่เกี่ยวข้องกัน ดังนั้นแล้วเราต้องระมัดระวังในจุดนี้มากๆ ถ้า Bug ไม่รุนแรงมาก ก็ไม่น่าจะเป็นไร แต่ใครจะไปรู้ว่าใน Code ที่เราไปโดนนั้น มันอาจจะทำให้ Out-Of-Memory หรือ Program นั้น crash ไปเลยก็เป็นได้
  • หา Bug เจอแต่เนิ่นๆ ย่อมดีกว่ามาเจอตอน Code มาเป็นหมื่นๆแสนๆ Line of Code ดังนั้นแล้ว Programmer ต้องตรวจสอบตัวเองด้วยว่า Code ที่ตัวเองทำมามันโอเคไหม อาจเชคด้วยตัวเอง หรือจะเป็นการ Cross Check กับคนอื่นที่เราไว้ใจได้ ไม่งั้นแล้วมาเจอทีหลัง ก็ไม่ต่างอะไรกับปัญหา Compatible
  • Programmer แม้จะเป็นคู่ปรับกับ Tester ยังไงแล้วก็ต้องทำงานร่วมกัน ถ้อยทีถ้อยอาศัยกันเสมอๆ ไม่งั้นแล้วใครจะ Code ให้ ใครจะ Test ให้
  • มุมมองสองคนนี้ต้องต่างกันอยู่แล้ว แต่ต่างคนต้องต่างรับฟัง แล้วเอามาพิจารณาด้วยเหตุผลและความเป็นจริงที่จะเกิดขึ้นด้วยตัวเอง ถึงทำงานไปได้เรื่อยๆ

ที่พูดมา มันคือมุมมองการทำงานจริงๆครับซึ่งมันเอามาดัดแปลงได้(น่าจะ)จริง

ขอบคุณเพื่อนผมคนนั้นด้วยครับ แต่ผมไม่ขอระบุชื่อนะครับ

I’ll be back ครับพี่น้อง

^_^

Comments

  1. Programmer ยังไงต้อทำงานร่วมกับการ Testing ก่อนการ Launch จริง
    ถ้าไม่ผ่านการ Test งานก็จะไม่มีคุณภาพ เมื่อถูก Reject กลับมา
    หน้าที่ของ Programmer คือการแก้ไขจนกว่าจะเรียบร้อย

    กว่าสินค้า 1 ตัวจะได้ Launch สู่ตลาด ต้องผ่านขั้นตอนมากมาย
    การทำงานมันยากตอน Testing นี่หล่ะ
    แต่ถ้าผ่านเมื่อไหร่ จะเป็นความภูมิใจของ Programmer

    แต่ก่อนจะลงมือทำจนได้ Testing มันต้องดู Requirement ว่าเราสามารถทำได้มั๊ย
    ถ้าทุกอย่างสัมพันธ์กันดี สินค้าตัวนี้จะแกร่งที่สุดในตลาด จุ๊บุ จุ๊บุ

  2. จริงๆ Tester ต้องเข้ามาดูตั้งแต่ Requirement แถมยังต้องดูว่า Programmer Design มาเป็นยังไง ถึงจะเอามาออกแบบ Test Case เพื่อทำการได้ จนกว่าตรงนี้จะผ่าน ถึงจะถึง phase test

    และทุกขั้นตอนต้องมีการ audit/review ซึ่งกว่าจะผ่านตรงนี้ก็ลากเลือดเช่นกันครับ

    ทุกๆอย่าง ก็เพื่อเป้าหมายคือ High Quality, Best Product

    ^_^

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.