ความแตกต่างที่แท้จริงระหว่างการทดสอบการยอมรับและการทดสอบการทำงานคืออะไร?
อะไรคือไฮไลท์หรือเป้าหมายของแต่ละคน ทุกที่ที่ฉันอ่านพวกมันคล้ายกันอย่างคลุมเครือ
ความแตกต่างที่แท้จริงระหว่างการทดสอบการยอมรับและการทดสอบการทำงานคืออะไร?
อะไรคือไฮไลท์หรือเป้าหมายของแต่ละคน ทุกที่ที่ฉันอ่านพวกมันคล้ายกันอย่างคลุมเครือ
คำตอบ:
ในโลกของฉันเราใช้เงื่อนไขดังต่อไปนี้:
การทดสอบการทำงาน : นี่คือกิจกรรมการตรวจสอบ ; เราสร้างผลิตภัณฑ์ที่ใช้งานได้ถูกต้องหรือไม่ ซอฟต์แวร์มีคุณสมบัติตรงตามข้อกำหนดทางธุรกิจหรือไม่
สำหรับการทดสอบประเภทนี้เรามีกรณีทดสอบที่ครอบคลุมสถานการณ์ที่เป็นไปได้ทั้งหมดที่เราสามารถนึกได้แม้ว่าสถานการณ์นั้นไม่น่าจะมีอยู่ "ในโลกแห่งความเป็นจริง" เมื่อทำการทดสอบประเภทนี้เรามีจุดมุ่งหมายเพื่อให้ครอบคลุมรหัสสูงสุด เราใช้สภาพแวดล้อมการทดสอบใด ๆ ที่เราสามารถคว้าได้ในเวลานั้นไม่จำเป็นต้องมีความสามารถ "การผลิต" ตราบใดที่สามารถใช้งานได้
การทดสอบการยอมรับ : นี่เป็นกิจกรรมการตรวจสอบ พวกเราสร้างสิ่งที่ถูกต้อง? นี่คือสิ่งที่ลูกค้าต้องการจริงๆหรือ
โดยปกติจะทำร่วมกับลูกค้าหรือโดยตัวแทนลูกค้าภายใน (เจ้าของผลิตภัณฑ์) สำหรับการทดสอบประเภทนี้เราใช้กรณีทดสอบที่ครอบคลุมสถานการณ์ทั่วไปที่เราคาดว่าจะใช้ซอฟต์แวร์ การทดสอบนี้จะต้องดำเนินการในสภาพแวดล้อมที่ "เหมือนผลิต" บนฮาร์ดแวร์ที่เหมือนกับหรือใกล้เคียงกับสิ่งที่ลูกค้าจะใช้ นี่คือเมื่อเราทดสอบ "ilities" ของเรา:
ความน่าเชื่อถือความพร้อมใช้งาน : ผ่านการทดสอบความเครียด
ความสามารถในการปรับขนาด : ผ่านการทดสอบโหลดแล้ว
การใช้งาน : ผ่านการตรวจสอบและสาธิตให้กับลูกค้า UI ถูกกำหนดค่าตามความชอบของพวกเขาหรือไม่? พวกเราวางแบรนด์ของลูกค้าไว้ในที่ที่เหมาะสมหรือไม่? เรามีฟิลด์ / หน้าจอทั้งหมดที่พวกเขาต้องการหรือไม่
ความปลอดภัย (aka ความปลอดภัยเพียงเพื่อให้พอดี) : ผ่านการตรวจสอบความถูกต้องแล้ว บางครั้งลูกค้าจะจ้าง บริษัท ภายนอกเพื่อทำการตรวจสอบความปลอดภัยและ / หรือการทดสอบการบุกรุก
การบำรุงรักษา : ตรวจสอบแล้วผ่านการสาธิตวิธีที่เราจะส่งมอบการอัปเดต / แพทช์ซอฟต์แวร์
การกำหนดค่า : ตรวจสอบความถูกต้องผ่านการสาธิตวิธีที่ลูกค้าสามารถปรับเปลี่ยนระบบเพื่อให้เหมาะกับความต้องการของพวกเขา
นี่ไม่ใช่มาตรฐานและฉันไม่คิดว่าจะมีคำจำกัดความ "มาตรฐาน" เนื่องจากคำตอบที่ขัดแย้งกันแสดงให้เห็นที่นี่ สิ่งที่สำคัญที่สุดสำหรับองค์กรของคุณคือคุณต้องกำหนดข้อกำหนดเหล่านี้อย่างแม่นยำและยึดติดกับข้อกำหนดเหล่านั้น
ฉันชอบคำตอบของ Patrick Cuff สิ่งที่ฉันต้องการเพิ่มคือความแตกต่างระหว่าง ระดับการทดสอบและประเภทการทดสอบที่เปิดตาให้ฉัน
การทดสอบระดับเป็นเรื่องง่ายที่จะอธิบายโดยใช้V-รูปแบบตัวอย่าง: แต่ละการทดสอบระดับมีของที่สอดคล้องกันในระดับการพัฒนา มันมีลักษณะเวลาทั่วไปพวกมันจะถูกดำเนินการในบางช่วงของวงจรการพัฒนา
การทดสอบประเภทคือลักษณะที่จะมุ่งเน้นวัตถุประสงค์การทดสอบที่เฉพาะเจาะจง ประเภทการทดสอบจะเน้นด้านคุณภาพของคุณหรือที่เรียกว่าด้านเทคนิคหรือไม่ใช้งาน ประเภทการทดสอบ สามารถที่จะดำเนินการใด ๆ ในการทดสอบระดับ ฉันชอบที่จะใช้เป็นประเภทการทดสอบลักษณะคุณภาพที่กล่าวถึงใน ISO / IEC 25010: 2011
เพื่อให้มันสมบูรณ์ นอกจากนี้ยังมีสิ่งที่เรียกว่าการทดสอบการถดถอย นี้จำแนกพิเศษถัดจากการทดสอบระดับและประเภทการทดสอบ ทดสอบการถดถอยคือการทดสอบที่คุณต้องการที่จะทำซ้ำเพราะมันสัมผัสบางสิ่งบางอย่างที่สำคัญในผลิตภัณฑ์ของคุณ มันอยู่ในความเป็นจริงเป็นส่วนหนึ่งของการทดสอบคุณกำหนดไว้สำหรับแต่ละการทดสอบระดับ หากมีการแก้ไขข้อบกพร่องเล็ก ๆ ในผลิตภัณฑ์ของคุณจะไม่มีเวลาทำซ้ำการทดสอบทั้งหมด การทดสอบการถดถอยเป็นคำตอบสำหรับสิ่งนั้น
ความแตกต่างคือระหว่างการทดสอบปัญหาและแนวทางแก้ไข ซอฟต์แวร์เป็นวิธีการแก้ปัญหาที่ทั้งสองสามารถทดสอบได้
การทดสอบการใช้งานเป็นการยืนยันว่าซอฟต์แวร์ทำหน้าที่ภายในขอบเขตของวิธีการที่คุณแก้ไขปัญหา นี่เป็นส่วนสำคัญของการพัฒนาซอฟต์แวร์เทียบได้กับการทดสอบที่ทำกับผลิตภัณฑ์ที่ผลิตจำนวนมากก่อนที่จะออกจากโรงงาน การทดสอบการใช้งานเป็นการยืนยันว่าผลิตภัณฑ์ใช้งานได้จริงตามที่คุณ (นักพัฒนา) คิดว่าทำ
การทดสอบการยอมรับตรวจสอบว่าผลิตภัณฑ์แก้ปัญหาได้จริง สิ่งนี้สามารถทำได้โดยผู้ใช้ (ลูกค้า) เช่นการปฏิบัติงานของเขา / เธอที่ซอฟต์แวร์ช่วยด้วย หากซอฟต์แวร์ผ่านการทดสอบในโลกแห่งความเป็นจริงก็ยอมรับว่าจะแทนที่โซลูชันก่อนหน้านี้ การทดสอบการยอมรับบางครั้งสามารถทำได้อย่างถูกต้องในการผลิตโดยเฉพาะถ้าคุณมีลูกค้าที่ไม่ระบุชื่อ (เช่นเว็บไซต์) ดังนั้นคุณสมบัติใหม่จะได้รับการยอมรับหลังจากวันหรือสัปดาห์ที่ใช้งานเท่านั้น
การทดสอบเชิงหน้าที่ - ทดสอบผลิตภัณฑ์เพื่อตรวจสอบว่ามีคุณสมบัติที่คุณออกแบบหรือสร้างขึ้น (ฟังก์ชั่นความเร็วข้อผิดพลาดความสอดคล้อง ฯลฯ )
การทดสอบการยอมรับ - ทดสอบผลิตภัณฑ์ในบริบทของมันสิ่งนี้ต้องการ (การจำลอง) ปฏิสัมพันธ์ของมนุษย์ทดสอบว่ามันมีผลที่ต้องการในปัญหาดั้งเดิม
คำตอบคือความเห็น ฉันทำงานในหลายโครงการและเป็นผู้ทดสอบและผู้ออกตราสารและบทบาทที่แตกต่างกันทั้งหมดและคำอธิบายในหนังสือต่าง ๆ แตกต่างกันดังนั้นนี่คือความแตกต่างของฉัน:
การทดสอบการใช้งาน:ใช้ความต้องการทางธุรกิจและทดสอบทุกอย่างดีและ thorougly จากมุมมองการทำงาน
การทดสอบการยอมรับ:ลูกค้า "ชำระเงิน" ทำการทดสอบที่เขาชอบเพื่อให้เขาสามารถรับผลิตภัณฑ์ที่ส่งมอบได้ ขึ้นอยู่กับลูกค้า แต่โดยทั่วไปแล้วการทดสอบจะไม่ละเอียดเท่าการทดสอบฟังก์ชั่นโดยเฉพาะอย่างยิ่งหากเป็นโครงการในบ้าน
อย่างที่ฉันบอกว่านี่เป็นมุมมองและประสบการณ์ของฉัน การทดสอบฟังก์ชั่นนั้นเป็นระบบและการทดสอบการยอมรับนั้นเป็นสิ่งที่แผนกธุรกิจทำการทดสอบ
ผู้ชม. การทดสอบเชิงหน้าที่คือการรับรองสมาชิกของทีมที่ผลิตซอฟต์แวร์ว่าทำสิ่งที่พวกเขาคาดหวัง การทดสอบการยอมรับคือการรับรองผู้บริโภคว่าตรงตามความต้องการของพวกเขา
ขอบเขต. ฟังก์ชั่นการทดสอบทดสอบการทำงานของส่วนประกอบหนึ่งครั้งเท่านั้น การทดสอบการยอมรับครอบคลุมถึงทุกแง่มุมของผลิตภัณฑ์ที่มีความสำคัญต่อผู้บริโภคมากพอที่จะทดสอบก่อนที่จะยอมรับซอฟต์แวร์ (กล่าวคือสิ่งใดที่คุ้มค่ากับเวลาหรือเงินที่จะใช้ในการทดสอบเพื่อตรวจสอบการยอมรับ)
ซอฟต์แวร์สามารถผ่านการทดสอบการทำงานการทดสอบการรวมและการทดสอบระบบ เท่านั้นที่จะล้มเหลวในการทดสอบการยอมรับเมื่อลูกค้าพบว่าคุณสมบัติไม่เป็นไปตามความต้องการของพวกเขา นี่มักจะบอกเป็นนัยว่ามีคนล้มลงบนสเป็ค ซอฟต์แวร์อาจล้มเหลวในการทดสอบการใช้งานบางอย่าง แต่ผ่านการทดสอบการยอมรับเนื่องจากลูกค้ายินดีที่จะจัดการกับข้อบกพร่องบางอย่างที่ใช้งานได้ตราบใดที่ซอฟต์แวร์ทำสิ่งสำคัญที่พวกเขาต้องการได้รับการยอมรับอย่างดี (ซอฟต์แวร์เบต้ามักจะได้รับการยอมรับ ทำงานได้อย่างสมบูรณ์)
การทดสอบหน้าที่: การประยุกต์ใช้ข้อมูลการทดสอบที่ได้มาจากข้อกำหนดการทำงานที่ระบุโดยไม่คำนึงถึงโครงสร้างโปรแกรมสุดท้าย หรือที่เรียกว่าการทดสอบกล่องดำ
การทดสอบการยอมรับ:การทดสอบอย่างเป็นทางการดำเนินการเพื่อพิจารณาว่าระบบเป็นไปตามเกณฑ์การยอมรับหรือไม่ - ทำให้ผู้ใช้ปลายทางสามารถกำหนดได้ว่าจะยอมรับระบบหรือไม่
ในมุมมองของฉันความแตกต่างหลักคือใครบอกว่าการทดสอบสำเร็จหรือล้มเหลว
การทดสอบการทำงานทดสอบว่าระบบตรงตามข้อกำหนดที่กำหนดไว้ล่วงหน้า มีการดำเนินการและตรวจสอบโดยผู้รับผิดชอบการพัฒนาระบบ
การทดสอบการยอมรับถูกลงชื่อออกโดยผู้ใช้ ผู้ใช้จะนึกถึงสิ่งที่พวกเขาต้องการทดสอบ แต่ในทางปฏิบัติมันน่าจะเป็นการชมพระอาทิตย์ตกของการทดสอบการทำงานเนื่องจากผู้ใช้ไม่ได้ลงทุนเวลามากพอ โปรดทราบว่ามุมมองนี้มาจากผู้ใช้ทางธุรกิจที่ฉันจัดการกับผู้ใช้ชุดอื่น ๆ เช่นการบินและความปลอดภัยที่สำคัญอื่น ๆ อาจไม่มีความแตกต่างนี้
... เป็นการทดสอบกล่องดำที่ดำเนินการบนระบบ (เช่นซอฟต์แวร์ชิ้นส่วนเครื่องจักรที่ผลิตขึ้นจำนวนมากหรือชุดผลิตภัณฑ์เคมี) ก่อนส่งมอบ
แม้ว่าสิ่งนี้จะกล่าวต่อไปว่า:
มันยังเป็นที่รู้จักกันในนามการทดสอบการทำงานการทดสอบกล่องดำการยอมรับการทดสอบ QA การทดสอบแอปพลิเคชันการทดสอบความมั่นใจการทดสอบขั้นสุดท้ายการทดสอบการตรวจสอบหรือการทดสอบการยอมรับจากโรงงาน
ด้วยเครื่องหมาย "อ้างอิงที่จำเป็น"
ฟังก์ชั่นการทดสอบ (ซึ่งจริง ๆ แล้วเปลี่ยนเส้นทางไปยังการทดสอบระบบ):
ดำเนินการในระบบบูรณาการที่สมบูรณ์เพื่อประเมินความสอดคล้องของระบบตามข้อกำหนดที่ระบุ การทดสอบระบบอยู่ในขอบเขตของการทดสอบกล่องดำและดังนั้นจึงไม่จำเป็นต้องมีความรู้ในการออกแบบภายในของรหัสหรือตรรกะ
ดังนั้นจากคำจำกัดความนี้พวกเขาก็ค่อนข้างเหมือนกัน
ในการทดสอบการยอมรับประสบการณ์ของฉันมักจะเป็นชุดย่อยของการทดสอบการทำงานและใช้ในกระบวนการลงชื่อออกอย่างเป็นทางการโดยลูกค้าในขณะที่การทดสอบการทำงาน / ระบบจะเป็นสิ่งที่ดำเนินการโดยฝ่ายพัฒนา / แผนกควบคุมคุณภาพ
ความสัมพันธ์ระหว่างสอง: การทดสอบการยอมรับมักจะรวมถึงการทดสอบการทำงาน แต่อาจรวมถึงการทดสอบเพิ่มเติม ตัวอย่างเช่นการตรวจสอบข้อกำหนดการติดฉลาก / เอกสาร
การทดสอบการทำงานคือเมื่อผลิตภัณฑ์ภายใต้การทดสอบถูกวางลงในสภาพแวดล้อมการทดสอบที่สามารถสร้างความหลากหลายของการกระตุ้น (ภายในขอบเขตของการทดสอบ) สิ่งที่สภาพแวดล้อมเป้าหมายมักจะผลิตหรือเกินกว่าในขณะที่ตรวจสอบการตอบสนองของอุปกรณ์ภายใต้การทดสอบ
สำหรับผลิตภัณฑ์ทางกายภาพ (ไม่ใช่ซอฟต์แวร์) มีการทดสอบการยอมรับที่สำคัญสองประเภท: การทดสอบการออกแบบและการทดสอบการผลิต การทดสอบการออกแบบมักใช้ตัวอย่างผลิตภัณฑ์จำนวนมากซึ่งผ่านการทดสอบการผลิต ผู้บริโภคที่แตกต่างกันอาจทดสอบวิธีการออกแบบที่แตกต่างกัน
การทดสอบการยอมรับจะเรียกว่าการตรวจสอบเมื่อการออกแบบทดสอบกับข้อกำหนดของผลิตภัณฑ์และการทดสอบการยอมรับจะเรียกว่าการตรวจสอบความถูกต้องเมื่อวางผลิตภัณฑ์ในสภาพแวดล้อมจริงของผู้บริโภค
การทดสอบการยอมรับเป็นเพียงการทดสอบที่ดำเนินการโดยลูกค้าและรวมถึงการทดสอบประเภทอื่น ๆ :
สำหรับการทดสอบการใช้งานเทียบกับการทดสอบที่ไม่ใช้งานได้ (ชนิดย่อย) - ดูคำตอบของคำถามSOนี้
พวกเขาเป็นสิ่งเดียวกัน
การทดสอบการยอมรับจะดำเนินการในระบบที่เสร็จสมบูรณ์ในสภาพแวดล้อมจริงที่เป็นไปได้สำหรับการผลิต / การใช้งานจริงก่อนที่จะมีการปรับใช้หรือส่งมอบระบบ
คุณสามารถทำการทดสอบการยอมรับในลักษณะอัตโนมัติหรือด้วยตนเอง