วันพฤหัสบดีที่ 24 เมษายน พ.ศ. 2557

Testing Level



    ก่อนที่จะมีการปล่อยโปรแกรมสักตัวออกสู่ผู้ใช้งาน เราจะแน่ใจได้อย่างไรบ้างว่า มันสามารถใช้งานได้จริงนั้น ก็ต้องมำกระบวนการทดสอบระบบ(Testing) กันเสียก่อน เพื่อให้มันใจได้ว่า โปรแกรมที่นักพัฒนาสร้างขึ้นมานั้น สามารถใช้งานได้จริงนั้นเอง

   กระบวนการการทดสอบระบบนั้นแบ่งออกเป็น 4 ส่วนส่วนด้วยกัน ก่อนที่จะปล่อยไปสู้ผู้ใช้งาน โดย 4 ส่วนนั้นมีดังนี้


  • Unit testing
  • Integration testing
  • System testing
  • Acceptance testing
    หลายคนคงคิ้วโก่ง กันไปล่ะ แล้ว " Regression testing" หายไปไหนล่ะ ในส่วนนี้  Regression testing ไม่ใช่ Level ของการทดสอบนั้นเอง แต่  Regression testing เป็นชนิดของการทดสอบ ของทั้ง 4 Level ข้างต้นเลยต่างหาก   Regression testing เป็นการ Endure ว่าที่เราทำการทดสอบมาเนี่ย ได้ผลตามนั้นจริงๆๆนะ ซึ่งสามารถเกิดขึ้นได้ทั้ง 4 Level ของการทดสอบรพบบเลย


      ทีนี้ เรามาดูกันว่าทั้ง 4 Level นั้นแต่ละส่วนเค้าทำอะไร หรือมีกระบวนการอย่างไรบ้าง
  1. Unit testingในส่วนนี้ถ่อเป็นการทดสอบระดับแรกเลยก็ว่าได้ จะเป็นการทดสอบที่เจอาะจงลงไปแต่ละ Unit ของตัวโปรแกรม หรือส่วนประกอบของตัวโปรแกรมว่าครบถ้วนหรือไม่ ซึ่ง Unit Test อาจจะมากไประดับของ Function เลยก็ว่าได้ และในส่วนนี้เราอาจะใช้การทดสอบแบบ  White-box Testing method ก็ได้  ในส่วนนี้เมื่อมีการเปลี่ยนแปลง Code จะส่งผลมายังส่วนนี้ เพราะฉะนั้น ควรที่จะทำส่วนนี้ให้เสร็จโดยเร็วถ้าเป็นไปได้ และส่วนนี้เองผู้ทำการทดสอบจะต้องเป็นโปรแกรมเมอร์ หรือผู้พัฒนาระบบนั้นเองที่จะเป็นผู้ทำการทดสอบในส่วนนี้ให้ถูกเสียก่อนที่จะส่งมอบงานให้ทาง Tester ทพการทดสอบระบบต่อไป
  2. Integration testing หลังจากที่นักพัฒนาระบบทำการทดวอบ Unit Test เรียบร้อยแล้ว และพร้อมที่จะส่งให้กับ Tester เพื่อทำงานต่อนั้น  Tester หรือ นักทดสอบระบบ จะทำการทดสอบในส่วนของ Unit Testing แอบแฝงอยู่ด้วยนั้นเอง แต่การทดสอบในส่วนหลักๆคือ การทดสอบในแต่ละFunction/Module ว่าสามารถทำงานได้หรือไม่นั้นเอง เมื่อมีการส่งค่าของแต่ละ Field ไปตาม Function/Module แล้ว มีผลกระทบอะไรหรือไม่ ซึ่งจะต่างจาการทำ Unit Testing ของ โปรแกรมเมอร์ ในส่วนนี้จะใช้วิธีการทดสอบที่หลายหลายวิธีในการทดสอบ แล้วแต่ผู้ทดสอบเห็นสมควร เนื่องจากแต่ละระบบมีการจัดการหรือกระบวนการไม่เหมือนกัน
  3. System testing ในส่วนนี้ถือเป็นด่านแรกของการ การทดสอบทั้งหมดของโปรแกรม เพื่อดูว่าโปรแกรมสามารถทำได้คสามความต้องการของผู้ใช้งานหรือไม่ ในส่วนนี้เราจะเริ่มมองเห็นความเป็นมาตราฐานของโปรแกรม มีการแบ่งผู้ใช้งานในการเข้าระบบให้เห็น เหมือนการใช้ระบบจริง มีการจะลองสภาพแวดล้อมการทำงานให้เหมือนกับการทำงานจริงๆ ทั้งทางด้านArchitecture หรือแม้แต่ตัว Software อื่นๆ ที่ต้องติดตั้ง ในเครื่องของผู้ใช้งานเอง   ในส่วนนี้จะมีความสำคัญมาก เนื่องจากจะเป็นจังหวะที่ มีการรวมเอา Technical,Architecture,Functional และ Business requirement มาทำการทดสอบให้เหมือนกับผู้ใช้งานจริงๆ ทำการใช้งาน  
  4. Acceptance testing ในส่วนนี้เป็นขั้นตอนสุดท้ายในการทดสอบ ในระหว่าง SDLC นี้อาจจะมีบางขั้นตอนที่มีความต้องการของผู้ใช้หายไปในระหว่างกระบวนการ ขั้นตอนนี้ ผู้ใช้งานจริงๆ จะเข้ามามีสาวนร่วมในการทดสอบระบบก่อนที่จะใช้งานจรืง ว่ามีส่วนไหนไม่เหมาะสมกับความต้องการหรือไม่ ถ้าตัวโปรแกรมตอบสนองตามความต้องการหรือเสร็จเรียบร้อยก็จะนำเอาตัวโปแกรมนี้ไปใช้งานจริง

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


1 ความคิดเห็น:

  1. Borgata Hotel Casino & Spa - MapyRO
    Borgata Hotel Casino & Spa is a 경상북도 출장샵 Casino on 논산 출장마사지 the Waterfront in 안산 출장샵 Atlantic City, New Jersey. The property is a 4 star hotel with a total 경주 출장마사지 of 3,034 전주 출장샵 guest rooms and

    ตอบลบ