วันเสาร์, กันยายน 21, 2556

การทดสอบ ส่วนที่ไม่ใช่ฟังก์ชั่นงาน (Non Functional Testing)



การทดสอบนี้ เกี่ยวข้องกับ ความต้องการในส่วน ที่ไม่ใช่ฟังก์ชั่นงาน และถูกออกแบบเพื่อประเมิน ความพร้อมของระบบ
ที่ขึ้นอยู่กับ เกณฑ์หลายๆ ด้าน ซึ่งไม่ครอบคลุมในส่วนการทดสอบฟังก์ชั่นงาน  การทดสอบนี้ ช่วยให้สามารถ ทำการวัด
และเปรียบเทียบ การทดสอบคุณสมบัติ ในส่วนที่ไม่ใช่ฟังก์ชั่นงาน ของระบบงานซอฟต์แวร์

การทดสอบแบบ Non Functional Testing  ประกอบด้วย :


  • Compatibility Testing
    การทดสอบ ความเข้ากันได้ เพื่อตรวจสอบดูว่าซอฟต์แวร์ สามารถรันบนฮาร์ดแวร์, ซอฟต์แวร์,ระบบปฏิบัติการ, ฐานข้อมูล, เว็บเซิร์ฟเวอร์, แอพพลิเคชั่นเซิร์ฟเวอร์, สภาพแวดล้อมเครือข่าย
    ฯลฯ ที่แตกต่างกันได้อย่างราบรื่นหรือไม่  การทดสอบวิธีนี้ ดำเนินงานโดยทีมงานด้านการทดสอบ
  •  Installation Testing
    การทดสอบ การติดตั้ง เพื่อทำให้มั่นใจว่า ระบบได้รับการติดตั้งอย่างถูกต้องและทำงานได้จริง
    การทดสอบวิธีนี้ ดำเนินงานโดย วิศวกรด้านการทดสอบซอฟต์แวร์
    หรือเจ้าหน้าที่เชี่ยวชาญ 
  • Internationalization Testing
    การทดสอบ ความเป็นสากล
    (International)
     วิธีนี้ใช้ ตรวจสอบดูขอบเขต ของซอฟต์แวร์ดังกล่าวว่า สนับสนุน
    การทำงานในระดับสากลหรือไม่  เช่น การใช้ภาษาที่แตกต่างกัน การใช้ชุดตัวอักษรที่ต่างกัน เป็นต้น
    ดำเนินงาน
    โดยทีมงานด้านการทดสอบ
  •  Localization Testing
    การทดสอบ แบบจำกัดเฉพาะส่วน  วิธีนี้ ใช้เพื่อ ปรับแอพพลิเคชั่นที่ใช้กันทั่วโลก ให้เหมาะกับวัฒนธรรม
    /
    ท้องถิ่น
    ใดๆ โดยเฉพาะ  
    ดำเนินงานโดยทีมงานด้านการทดสอบ
  • Performance Testing
    การทดสอบ สมรรถนะการทำงาน จะทำการทดสอบคุณลักษณะด้านคุณภาพ ของซอฟต์แวร์ อาทิ เช่น การคง
    สภาพ ความวางใจได้ และความพร้อมใช้งาน วิธีนี้ ดำเนินงานโดยทีมวิศรกรซอฟต์แวร์หรือผู้เชี่ยวชาญ
  • Security Testing
    การทดสอบ ด้านความปลอดภัย ใช้เพื่อ สร้างความให้เกิดความมั่นใจว่า
    จะเกิด ความปลอดภัย จากการดำเนิน
    การทั้งภายในและภายนอก ทั้งโปรแกรมไม่พึงประสงค์ หรือจากคนมุ่งร้าย วิธีนี้ ดำเนินงานโดยทีมงานด้านการทดสอบหรือหน่วยงานผู้เชี่ยวชาญด้านความปลอดภัย   
  • Usability Testing
    การทดสอบ ความสามารถใช้งานได้  วิธีนี้ใช้ เพื่อทำความเข้าใจ ถึงวิธีการทำงานที่เป็นมิตรกับผู้ใช้ซอฟต์แวร์ ดำเนินงานโดยผู้ใช้งานตัวจริง
 

การทดสอบส่วนของฟังก์ชั่นงาน (Functional Testing)



การทดสอบฟังก์ชั่นการทำงาน ใช้เพื่อพิสูจน์ความจริง ในแต่ละฟังก์ชั่นงาน ของแอพพลิเคชั่นซอฟต์แวร์ ว่าทำงานสอดคล้อง กับข้อกำหนดความต้องการระบบงานหรือไม่  
การทดสอบแบบ  Functional Testing  ประกอบด้วย 

  • Accessibility Testing
    การทดสอบ ความสามารถการเข้าใช้งาน วิธีนี้ ช่วยในการกำหนดว่า ซอฟต์แวร์ดังกล่าวสามารถ นำมาใช้กับบรรดา
    ผู้พิการได้หรือไม่  โดยกรรมวิธีการทดสอบ จะทดลอง กับการทำงานจริงโดย คนที่พิการ  
  • Alpha Testing
    การทดสอบ ในจุดเริ่ม(Alpha) คือการ ทดสอบ โดยจำลอง การทำงาน/การปฏิบัติจริง โดยผู้ใช้งาน หรือลูกค้า บนเครื่อง/ไซต์งานของนักพัฒนา  การทดสอบวิธีนี้ ถูกนำมาใช้ก่อน ที่จะนำซอฟต์แวร์ เข้าสู่ขั้นการทดสอบ ในชั้นถัดมา (Beta)  
  • Beta Testing
    การทดสอบ ในชั้นถัดมา (Beta) คือการ ทดสอบในขั้นตอนสุดท้าย ก่อนที่จะ ส่งมอบแอพพลิเคชั่น ออกใช้งาน
    ตามวัตถุสงค์ในเชิงพาณิชย์  โดยปกติแล้ว ผู้ดำเนินงานวิธีนี้ จะเป็นผู้ใช้งานตัวจริงหรือลูกค้าเจ้าของระบบ  
  • Destructive Testing
    การทดสอบ ภัยการทำลาย วิธีนี้มีจุดมุ่งหมาย ในการหาประเด็นข้อผิดพลาดของซอฟต์แวร์ เพื่อทำความเข้าใจกับโครงสร้าง โดยกำหนดจาก ตัวอย่างการทดสอบ ด้วยการจงใจใส่ รายการผิดพลาด ทั้งข้อมูลนำเข้า รูปแบบจำนวน
    ฯลฯ ผู้ดำเนินงาน อาศัยจากทีมงานทดสอบ
  • Smoke Testing  
    วิธีทดสอบ แบบสโมค การทดสอบวิธีนี้ ใช้เพื่อ พิจารณาว่า ”สิ่งใหม่” ที่เพิ่มเข้ามาจากทีมพัฒนา มีความเสถียร
    และคงทนเพียงพอหรือไม่  ดำเนินงานโดยทีมงานด้านการทดสอบ
  • Sanity Testing
    การทดสอบ สภาวะปกติ
    (Sanity)
    การทดสอบวิธีนี้ ใช้เพื่อ ประเมินอย่างรวดเร็ว ในส่วนของ ซอฟต์แวร์
    สภาพแวดล้อมเครือข่าย ระบบภายนอก ว่ายังทำงานตามปกติ หรือไม่  ดำเนินงานโดยทีมงานด้านการทดสอบ
  • Regression Testing
    การทดสอบ การเสื่อมถอย ใช้สำหรับสืบค้น หาข้อผิดพลาด ในซอฟต์แวร์ซึ่งไม่ครอบคลุม หลังจากได้ ปรับปรุง โปรแกรมจนเสร็จแล้ว (เช่นการ ซ่อมแก้ไข จุดด่าง หรือบั๊ก ในฟังก์ชั่นการทำงาน) โดยการทดสอบโปรแกรมซ้ำ
    อีกครั้ง ดำเนินงานโดยทีมงานด้านการทดสอบ