คำถามติดแท็ก testing

การตรวจสอบพฤติกรรมของระบบซอฟต์แวร์กับพฤติกรรมที่คาดหวังของระบบนั้น

9
คุณวัดการทดสอบการรวมระบบของคุณอย่างไร
ฉันกำลังตรวจสอบเทคนิคและกลยุทธ์ในการปรับขนาดการทดสอบการรวมระบบที่เพิ่มขึ้นของเราในผลิตภัณฑ์ปัจจุบันของเราเพื่อให้พวกเขาสามารถ (เป็นมนุษย์) ยังคงเป็นส่วนหนึ่งของการพัฒนาของเราและกระบวนการ CI ที่การทดสอบการรวมกันกว่า 200 ครั้งเราได้ทำเครื่องหมาย 1 ชั่วโมงเพื่อทำการทดสอบเต็มรูปแบบ (บนเครื่องเดสก์ท็อป aa) และสิ่งนี้มีผลกระทบในทางลบต่อความสามารถของนักพัฒนาในการทนต่อการรันทั้งชุด ซึ่งส่งผลต่อแรงจูงใจที่จะต้องมีระเบียบวินัยในการสร้างให้ดี เรารวมการทดสอบ Scenrios สำคัญเท่านั้นด้านหน้าไปด้านหลังและเราใช้สภาพแวดล้อมที่สะท้อนการผลิตที่สร้างขึ้นตั้งแต่เริ่มการทดสอบแต่ละครั้ง เนื่องจากเวลาที่ใช้ในการรันจึงทำให้วนรอบการตอบกลับแย่มากและวงจรที่สิ้นเปลืองจำนวนมากรอให้เครื่องทำการทดสอบเสร็จสิ้นไม่ว่าการทดสอบจะเน้นไปที่ใด ไม่ต้องกังวลกับผลกระทบด้านลบที่มีราคาแพงกว่าต่อการไหลและความก้าวหน้าสติและความยั่งยืน เราคาดว่าจะมีการทดสอบการรวมเพิ่มเป็น 10 เท่าก่อนที่ผลิตภัณฑ์นี้จะเริ่มทำงานช้าลง (ไม่มีความคิดจริง ๆ แต่ก็ไม่รู้สึกเหมือนว่าเรากำลังเริ่มต้นในแง่ของคุณสมบัติเลย) เราต้องคาดหวังอย่างต่อเนื่องว่าจะมีการทดสอบการรวมสองสามร้อยหรือสองสามพันครั้งฉันคิดว่าในบางจุด เพื่อความชัดเจนในการพยายามป้องกันไม่ให้สิ่งนี้กลายเป็นการสนทนาเกี่ยวกับการทดสอบหน่วยกับการทดสอบการรวม (ซึ่งไม่ควรแลกเปลี่ยน) เรากำลังทำการทดสอบทั้งหน่วยด้วย TDD และการทดสอบการรวมในผลิตภัณฑ์นี้ ในความเป็นจริงเราทำการทดสอบการรวมที่เลเยอร์ต่าง ๆ ในสถาปัตยกรรมบริการที่เรามีซึ่งมันสมเหตุสมผลสำหรับเราเนื่องจากเราต้องตรวจสอบตำแหน่งที่เราแนะนำการเปลี่ยนแปลงที่ผิดพลาดเมื่อเปลี่ยนรูปแบบในสถาปัตยกรรมของเราไปยังพื้นที่อื่น ๆ ของ ระบบ. เล็กน้อยเกี่ยวกับสแต็คเทคโนโลยีของเรา ขณะนี้เรากำลังทดสอบสภาพแวดล้อมการจำลอง (CPU และหน่วยความจำมาก) เพื่อทำการทดสอบของเราตั้งแต่ต้นจนจบ ซึ่งประกอบด้วยบริการเว็บ Azure REST ซึ่งแสดงแบ็กเอนด์ noSql (ATS) เรากำลังจำลองสภาพแวดล้อมการผลิตของเราโดยทำงานใน Azure desktop …

3
การทดสอบหน่วยเปราะเนื่องจากต้องการการเยาะเย้ยมากเกินไป
ฉันดิ้นรนกับปัญหาที่น่ารำคาญมากขึ้นเกี่ยวกับการทดสอบหน่วยของเราที่เรากำลังนำไปใช้ในทีมของฉัน เรากำลังพยายามเพิ่มการทดสอบหน่วยในรหัสดั้งเดิมที่ไม่ได้ออกแบบมาอย่างดีและในขณะที่เราไม่ได้มีปัญหาใด ๆ กับการเพิ่มการทดสอบจริง ๆ เราเริ่มที่จะต่อสู้กับการทดสอบที่เกิดขึ้น เป็นตัวอย่างของปัญหาสมมติว่าคุณมีวิธีการที่เรียก 5 วิธีอื่น ๆ เป็นส่วนหนึ่งของการดำเนินการ การทดสอบสำหรับวิธีนี้อาจเป็นการยืนยันว่าลักษณะการทำงานที่เกิดขึ้นเป็นผลมาจากวิธีการหนึ่งใน 5 วิธีการอื่นที่เรียกว่า ดังนั้นเนื่องจากการทดสอบหน่วยควรล้มเหลวด้วยเหตุผลเดียวและเหตุผลเดียวเท่านั้นคุณต้องการกำจัดปัญหาที่อาจเกิดขึ้นจากการเรียก 4 วิธีการอื่น ๆ เหล่านี้และเยาะเย้ยพวกเขาออก ที่ดี! การทดสอบหน่วยดำเนินการวิธีการเยาะเย้ยจะถูกละเว้น (และพฤติกรรมของพวกเขาสามารถยืนยันได้ว่าเป็นส่วนหนึ่งของการทดสอบหน่วยอื่น ๆ ) และการตรวจสอบใช้งานได้ แต่มีปัญหาใหม่ - การทดสอบหน่วยมีความรู้อย่างใกล้ชิดว่าคุณยืนยันพฤติกรรมและการเปลี่ยนแปลงลายเซ็นใด ๆ ของ 4 วิธีอื่น ๆ ในอนาคตหรือวิธีการใหม่ใด ๆ ที่จำเป็นต้องเพิ่มใน 'วิธีการหลัก' จะ ส่งผลให้ต้องเปลี่ยนการทดสอบหน่วยเพื่อหลีกเลี่ยงความล้มเหลวที่เป็นไปได้ โดยธรรมชาติแล้วปัญหาสามารถลดลงได้บ้างเพียงแค่มีวิธีการมากขึ้นที่จะทำให้พฤติกรรมน้อยลง แต่ฉันหวังว่าอาจจะมีวิธีการแก้ปัญหาที่หรูหรากว่านี้ นี่คือตัวอย่างการทดสอบหน่วยที่จับปัญหา ในฐานะที่เป็นโน้ตย่อ 'MergeTests' เป็นคลาสการทดสอบหน่วยที่สืบทอดจากคลาสที่เรากำลังทดสอบและแทนที่พฤติกรรมตามต้องการ นี่คือ 'รูปแบบ' ที่เราใช้ในการทดสอบของเราเพื่อให้เราสามารถแทนที่การโทรไปยังคลาส / การอ้างอิงภายนอก …

7
หนังสือบทความและวรรณกรรมที่ดีที่สุดเกี่ยวกับการทดสอบหน่วย [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ในการต่อสู้เพื่อแนะนำการทดสอบหน่วยในเวิร์กกรุ๊ปของฉันฉันพบผู้คนจำนวนมากที่ไม่มีความรู้เกี่ยวกับแนวคิด คุณช่วยแนะนำ: บทความหรือแบบฝึกหัดที่ดีที่สุดสำหรับการแนะนำผู้คนในหัวข้อได้อย่างรวดเร็ว หนังสือครอบคลุมที่ดีที่สุดสำหรับการทดสอบหน่วยการเรียนรู้เชิงลึก ผลงานทางวิชาการและการศึกษาที่พิสูจน์ประสิทธิภาพของการทดสอบหน่วย

5
ผู้ทดสอบควรอนุมัติการปล่อยหรือเพียงแค่รายงานการทดสอบ?
มันสมเหตุสมผลไหมที่จะมอบอำนาจการออกจากระบบให้แก่ผู้ทดสอบ? ควรมีทีมทดสอบ เพียงทดสอบคุณสมบัติปัญหา ฯลฯ และเพียงรายงานตามเกณฑ์การผ่าน / ไม่ผ่านปล่อยให้ผู้อื่นดำเนินการกับผลลัพธ์เหล่านั้นหรือ มีอำนาจในการระงับการเผยแพร่ตัวเองตามผลลัพธ์เหล่านั้นหรือไม่ กล่าวอีกนัยหนึ่งผู้ทดสอบควรจะต้องออกจากระบบจริงหรือไม่? ทีมทดสอบที่ฉันทำงานด้วยรู้สึกว่าพวกเขาทำและเรากำลังมีปัญหากับเรื่องนี้เพราะ "การทดสอบขอบเขตคืบคลาน" - การปฏิเสธการอนุมัติการปล่อยบางครั้งก็ขึ้นอยู่กับปัญหาที่ไม่ได้รับการแก้ไขอย่างชัดเจน

5
ฉันจะเริ่มต้นการทดสอบในการต่อต้านการทดสอบได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันมีคำสารภาพที่ต้องทำ: การทดสอบอัตโนมัติอย่างเป็นทางการไม่ได้เป็นส่วนหนึ่งของพื้นฐานการเขียนโปรแกรมของฉัน ตอนนี้ฉันทำงานใน บริษัท ขนาดใหญ่ที่มีนักพัฒนาหลายคน (ส่วนใหญ่เป็นนักพัฒนาเว็บประเภทใดประเภทหนึ่ง) และเห็นได้ชัดว่าพวกเขาส่วนใหญ่ไม่ได้ทดสอบ * เช่นกัน (* ฉันจะไม่พูดต่อไปอย่างเป็นทางการโปรดสรุป) หากฉันรอรับการสนับสนุนจากองค์กรของฉันเพื่อเริ่มการทดสอบมันจะไม่เกิดขึ้น ถ้าฉันพยายามที่จะ "เปลี่ยนแปลงสิ่งต่าง ๆ จากภายใน" โดยการทดสอบการจัดการที่ฉันจะหมดแรงก่อนที่จะเกิดการเปลี่ยนแปลง ฉันต้องเริ่มการทดสอบตอนนี้ แต่ด้วย TDD และตระกูลของมันฉันจะจบลงด้วยรหัสการทดสอบมากมายพร้อมกับรหัสการผลิต ระบบควบคุมเวอร์ชันของเรา (รวมศูนย์ทั้งหมด) ไม่ได้จัดระเบียบไว้สำหรับการจัดเก็บรหัสทดสอบ ฉันจะต้องหาที่สำหรับทุกอย่างบนเวิร์กสเตชันของฉัน เป็นไปได้หรือไม่ที่จะเริ่มฝึกฝนการทดสอบซอฟต์แวร์ในวัฒนธรรมที่ไม่ได้ให้คุณค่าหรือจัดหาเครื่องมือสำหรับการทดสอบส่วนตัว? คุณใช้เทคนิคและเครื่องมือใดในการทดสอบเมื่อเครื่องมือและองค์กรอย่างเป็นทางการไม่มีที่สำหรับการทดสอบกรอบและระบบอัตโนมัติ
20 testing  tdd 


8
ไฟล์เดียวหรือหลายไฟล์สำหรับการทดสอบหน่วยในชั้นเดียว?
ในการวิจัยการทดสอบแนวปฏิบัติที่ดีที่สุดเพื่อช่วยรวบรวมแนวทางสำหรับองค์กรของฉันฉันพบว่ามันดีกว่าหรือมีประโยชน์ในการแยกการทดสอบการทดสอบ (คลาสทดสอบ) หรือเพื่อทำการทดสอบทั้งหมดสำหรับคลาสเดียวในไฟล์เดียว Fwiw ฉันหมายถึง "การทดสอบหน่วย" ในความหมายที่บริสุทธิ์ว่าเป็นการทดสอบในกล่องสีขาวที่กำหนดเป้าหมายไปที่คลาสเดี่ยวหนึ่งการยืนยันต่อการทดสอบหนึ่งการอ้างอิงทั้งหมดที่ล้อเลียนเป็นต้น ตัวอย่างสถานการณ์เป็นคลาส (เรียกว่าเอกสาร) ที่มีสองวิธี: CheckIn และ CheckOut แต่ละวิธีใช้กฎต่าง ๆ ฯลฯ ที่ควบคุมพฤติกรรมของพวกเขา ตามกฎข้อหนึ่งต่อการทดสอบฉันจะมีการทดสอบหลายวิธีสำหรับแต่ละวิธี ฉันสามารถวางทั้งหมดของการทดสอบในครั้งเดียวDocumentTestsระดับที่มีชื่อชอบและCheckInShouldThrowExceptionWhenUserIsUnauthorizedCheckOutShouldThrowExceptionWhenUserIsUnauthorized หรือผมอาจจะมีสองชั้นทดสอบเฉพาะกิจการ: และCheckInShould CheckOutShouldในกรณีนี้ชื่อการทดสอบของฉันจะสั้นลง แต่พวกเขาจะจัดระเบียบเพื่อให้การทดสอบทั้งหมดสำหรับพฤติกรรมที่เฉพาะเจาะจง (วิธีการ) อยู่ด้วยกัน ฉันแน่ใจว่ามีทั้งของมืออาชีพและนักต้มตุ๋นที่จะเข้าใกล้และสงสัยว่าถ้าใครไปเส้นทางด้วยไฟล์หลาย ๆ ไฟล์และถ้าเป็นเช่นนั้นทำไม? หรือถ้าคุณเลือกวิธีการไฟล์เดียวทำไมคุณถึงรู้สึกว่ามันดีกว่า

7
ผู้จัดการต้องการสภาพแวดล้อมการพัฒนาและการผลิตรวมกัน
ฉันทำงานในทีมการเขียนโปรแกรมขนาดเล็กที่สนับสนุนองค์กรขนาดใหญ่ ปีนี้ผู้จัดการของเราตัดสินใจว่าเราจะใช้เทคโนโลยี Oracle Apex เพื่อจัดการข้อมูลส่วนใหญ่ของ บริษัท นี่จะโอเคยกเว้นเรามีเซิร์ฟเวอร์ Apex เพียงอันเดียว ผู้จัดการของเราได้กำหนดว่าทุกอย่างเกิดขึ้นในกรณีนั้น ทีมงานของเรากำลังพัฒนาแอพในขณะที่ผู้จัดการของเราสาธิตพวกเขาและลูกค้าภายในของเราใช้พวกเขาด้วยเหตุผลที่ชัดเจนว่าทำให้เกิดปัญหาอยู่แล้ว! ฉันคาดหวังได้ว่าสิ่งนี้จะแย่ลงเมื่อเราลงทุนอย่างหนักใน Apex แอพมีความซับซ้อนมากขึ้นและจำนวนผู้ใช้เพิ่มขึ้น ฉันได้ยินมาว่าแนวทางปฏิบัติที่ดีที่สุดคือการมีสภาพแวดล้อมการพัฒนาการทดสอบและการผลิตแยกจากกัน แต่ทำไมถึงเป็นเช่นนั้น คำถาม: ทำไมเราควรมีสภาพแวดล้อมการพัฒนาการทดสอบและการผลิตแยกต่างหาก

4
วิธีการทดสอบเมื่อการจัดเรียงข้อมูลยุ่งยากเกินไป?
ฉันกำลังเขียนโปรแกรมแยกวิเคราะห์และเป็นส่วนหนึ่งของที่ฉันมีExpanderชั้นเรียนที่ "ขยาย" คำสั่งที่ซับซ้อนเดียวในงบง่าย ๆ หลาย ๆ ตัวอย่างเช่นมันจะขยายสิ่งนี้: x = 2 + 3 * a เป็น: tmp1 = 3 * a x = 2 + tmp1 ตอนนี้ฉันกำลังคิดเกี่ยวกับวิธีการทดสอบคลาสนี้โดยเฉพาะวิธีการจัดเรียงการทดสอบ ฉันสามารถสร้างแผนภูมิไวยากรณ์อินพุตด้วยตนเองได้: var input = new AssignStatement( new Variable("x"), new BinaryExpression( new Constant(2), BinaryOperator.Plus, new BinaryExpression(new Constant(3), BinaryOperator.Multiply, new Variable("a")))); หรือฉันสามารถเขียนเป็นสตริงและแยกมัน var input = new …

9
รหัสยืนยันมากเกินไปมีกลิ่นหรือไม่
ฉันตกหลุมรักกับการทดสอบหน่วยและ TDD - ฉันติดเชื้อทดสอบ อย่างไรก็ตามการทดสอบหน่วยปกติใช้สำหรับวิธีสาธารณะ บางครั้งฉันก็ต้องทดสอบสมมติฐาน - ยืนยันด้วยวิธีส่วนตัวเช่นกันเพราะบางคนก็เป็น "อันตราย" และการปรับโครงสร้างไม่สามารถช่วยอะไรได้อีก (ฉันรู้ว่ากรอบการทดสอบอนุญาตให้ทดสอบวิธีส่วนตัว) ดังนั้นมันจึงกลายเป็นนิสัยของฉันที่ทั้งวิธีแรกและบรรทัดสุดท้ายของวิธีการส่วนตัวเป็นการยืนยัน อย่างไรก็ตามฉันสังเกตเห็นว่าฉันมักจะใช้การยืนยันในวิธีสาธารณะ (เช่นเดียวกับส่วนตัว) เพียงแค่ "เพื่อให้แน่ใจ" นี่อาจเป็น "การทำซ้ำการทดสอบ" เนื่องจากสมมติฐานของวิธีสาธารณะได้รับการทดสอบจากภายนอกโดยกรอบการทดสอบหน่วย ใครบางคนอาจคิดว่าการยืนยันรหัสมากเกินไปเป็นกลิ่นรหัส?

7
abstractions ต้องลดการอ่านรหัสหรือไม่?
ผู้พัฒนาที่ดีที่ฉันทำงานด้วยบอกกับฉันเมื่อเร็ว ๆ นี้เกี่ยวกับความยากลำบากบางอย่างที่เขามีในการใช้คุณสมบัติในโค้ดบางตัวที่เราได้รับมา เขากล่าวว่าปัญหาคือรหัสนั้นยากที่จะปฏิบัติตาม จากนั้นฉันมองลึกเข้าไปในผลิตภัณฑ์และรู้ว่ามันยากแค่ไหนที่จะเห็นเส้นทางของโค้ด มันใช้อินเทอร์เฟซและเลเยอร์นามธรรมมากมายที่พยายามเข้าใจว่าสิ่งที่เริ่มต้นและสิ้นสุดนั้นค่อนข้างยาก มันทำให้ฉันคิดถึงเวลาที่ฉันได้ดูโครงการที่ผ่านมา (ก่อนที่ฉันจะทราบถึงหลักการของโค้ดที่สะอาด) และพบว่ามันยากมากที่จะได้รับในโครงการส่วนใหญ่เป็นเพราะเครื่องมือนำทางรหัสของฉัน จะต้องใช้ความพยายามเป็นพิเศษในการค้นหาการใช้งานที่เป็นรูปธรรมหรือสิ่งที่มีสายในสถาปัตยกรรมประเภทปลั๊กอินบางอย่าง ฉันรู้ว่านักพัฒนาบางคนหันมาใช้ถังบรรจุแบบพึ่งพาอย่างเคร่งครัดด้วยเหตุผลนี้ มันทำให้เส้นทางของซอฟต์แวร์สับสนจนความยากในการนำทางรหัสเพิ่มขึ้นแบบทวีคูณ คำถามของฉันคือ: เมื่อกรอบงานหรือรูปแบบนำเสนอค่าใช้จ่ายมากเช่นนี้มันจะคุ้มหรือไม่ มันเป็นอาการของรูปแบบการใช้งานที่ไม่ดีหรือไม่? ฉันเดาว่าผู้พัฒนาควรดูภาพรวมของสิ่งที่นามธรรมนำมาสู่โครงการเพื่อช่วยให้พวกเขาผ่านพ้นความยุ่งยาก โดยปกติแล้วมันยากที่จะทำให้พวกเขาเห็นภาพรวมขนาดใหญ่ ฉันรู้ว่าฉันไม่สามารถขายความต้องการของ IOC และ DI ด้วย TDD สำหรับนักพัฒนาเหล่านั้นการใช้เครื่องมือเหล่านั้นทำให้การอ่านโค้ดเป็นเรื่องลำบากมากเกินไป

3
ฉันควรรวมการทดสอบในอิมเมจ Docker หรือไม่
เมื่อพูดถึงการทดสอบฉันสามารถนึกถึงสองตัวเลือก: ใส่ทั้งการทดสอบและแอปพลิเคชันในภาพเดียว รวมเฉพาะรหัสแอปพลิเคชันในภาพ สร้างคอนเทนเนอร์เฉพาะของการทดสอบที่สร้างขึ้นหลังจากอิมเมจหลักและเพิ่มเลเยอร์บางอย่างลงในนั้น (รหัสทดสอบการอ้างอิงและอื่น ๆ ) ด้วยตัวเลือกแรกฉันสามารถทดสอบคอนเทนเนอร์และจัดส่งตรงตามที่ได้รับการทดสอบ ข้อเสียที่ชัดเจนคือรหัสที่ไม่จำเป็น (และอาจมีการทดสอบข้อมูล) จะรวมอยู่ในภาพ ด้วยตัวเลือกที่สองรูปภาพที่ส่งมานั้นไม่เหมือนกับภาพที่ถูกทดสอบ ทั้งคู่ดูเหมือนกลยุทธ์ที่ไม่ดี มีสามกลยุทธ์ที่ดีกว่าหรือไม่?

2
ความหมายของ 'ฟิกซ์เจอร์' ต่างกันอย่างไร?
ฉันมีปัญหาในการเข้าใจแนวคิดของ "การติดตั้ง" ฉันรู้ว่าชุดทดสอบคืออะไรกรณีทดสอบเรียกใช้การทดสอบ แต่ "ฟิกซ์เจอร์" คืออะไร กรณีทดสอบแปร? สำหรับฉันแล้วความหมายหรือความหมายของคำว่า "ฟิกซ์เจอร์" อาจแตกต่างกันเล็กน้อยโดยภาษาการเขียนโปรแกรมหรือโดยการทดสอบกรอบ? ฉันคิดว่าการติดตั้งแบบ phpunit " รหัสเพื่อตั้งโลกขึ้นมาอยู่ในสถานะที่เป็นที่รู้จักและจากนั้นกลับสู่สภาพเดิมเมื่อการทดสอบเสร็จสมบูรณ์. รัฐนี้เป็นที่รู้จักกันจะเรียกว่าการติดตั้งการทดสอบ. " แตกต่างจาก " fitnesse fixture " เล็กน้อย " การติดตั้งเป็นสะพานเชื่อมระหว่างหน้า Wiki และ System Under Test (SUT) ซึ่งเป็นระบบจริงที่จะทดสอบ " มีผู้เชี่ยวชาญในการทดสอบซอฟต์แวร์แถวนี้ที่สามารถตอบคำถามนี้ได้หรือไม่ ยินดีต้อนรับการอ้างอิงถึงภาษาการเขียนโปรแกรมอื่น ๆ

4
วิธีจัดโครงสร้างการทดสอบโดยที่การทดสอบครั้งหนึ่งเป็นการตั้งค่าการทดสอบอื่น?
ฉันกำลังรวมการทดสอบระบบโดยใช้ API สาธารณะเท่านั้น ฉันมีการทดสอบที่มีลักษณะเช่นนี้: def testAllTheThings(): email = create_random_email() password = create_random_password() ok = account_signup(email, password) assert ok url = wait_for_confirmation_email() assert url ok = account_verify(url) assert ok token = get_auth_token(email, password) a = do_A(token) assert a b = do_B(token, a) assert b c = do_C(token, b) # ...and so …
18 testing 

5
เหตุใดจึงต้องใช้ฐานข้อมูลในหน่วยความจำสำหรับการทดสอบการรวมระบบ
ฉันสับสนจริง ๆ เมื่อฉันเห็นการใช้ฐานข้อมูลในหน่วยความจำจำนวนมากที่ใช้สำหรับการทดสอบเพราะฉันได้ยินมากจากการรวมการทดสอบแนวปฏิบัติที่ดีที่สุดว่าสภาพแวดล้อมที่ใช้การทดสอบควรมีลักษณะใกล้เคียงกับสภาพแวดล้อมการผลิตรวมถึงระบบปฏิบัติการ , ห้องสมุด, โปรแกรมฐานข้อมูล ฯลฯ สิ่งที่ฉันหายไปที่นี่?
18 testing 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.