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

การทดสอบซอฟต์แวร์เป็นกิจกรรมใด ๆ ที่มุ่งประเมินคุณลักษณะหรือความสามารถของโปรแกรมหรือระบบและพิจารณาว่าตรงตามผลลัพธ์ที่ต้องการ

3
วิธี `ไปทดสอบ 'การทดสอบทั้งหมดในโครงการของฉันได้อย่างไร
go testคำสั่งครอบคลุม*_test.goไฟล์ในเพียงหนึ่ง dir ฉันต้องการgo testโครงการทั้งหมดซึ่งหมายความว่าการทดสอบควรครอบคลุม*_test.goไฟล์ทั้งหมดในผบ. ./และผบ. ต้นไม้สินธุทั้งหมดใต้ผบ./. คำสั่งให้ทำคืออะไร
141 testing  go 

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

8
ทำความสะอาดต้นขั้ว Sinon ได้อย่างง่ายดาย
มีวิธีในการรีเซ็ตสไปซ์ไซนอนม็อกและต้นขั้วทั้งหมดอย่างง่ายดายซึ่งจะทำงานได้อย่างหมดจดกับมอคค่าก่อนหน้าแต่ละบล็อก ฉันเห็นว่าแซนด์บ็อกซ์เป็นตัวเลือก แต่ฉันไม่เห็นว่าคุณจะใช้แซนด์บ็อกซ์ได้อย่างไร beforeEach -> sinon.stub some, 'method' sinon.stub some, 'mother' afterEach -> # I want to avoid these lines some.method.restore() some.other.restore() it 'should call a some method and not other', -> some.method() assert.called some.method

10
ฝึก BDD กับ python [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา เฟรมเวิร์กและเครื่องมือขั้นสูงสุดใดที่มีสำหรับ python สำหรับฝึก Behavior Driven Development โดยเฉพาะอย่างยิ่งการหาเครื่องมือที่คล้ายกันเช่น rspec และ mocha สำหรับทับทิมจะดีมาก
133 python  testing  bdd 

5
วิธีกำหนดค่าเมธอด“ Shorten command line” สำหรับทั้งโปรเจ็กต์ใน IntelliJ
เมื่อฉันทำการทดสอบฉันได้รับข้อผิดพลาด "บรรทัดคำสั่งยาวเกินไป" ใช้งานได้ถ้าฉันตั้งค่าเมธอด "Shorten command line" ในการกำหนดค่า Run / Debug เป็น "JAR manifest" สำหรับเมธอดหรือคลาสเฉพาะ แต่ฉันจะตั้งค่าสำหรับโปรเจ็กต์ทั้งหมดได้อย่างไรหรือมีการตั้งค่าส่วนกลาง IDE สำหรับมัน

8
การทดสอบ Ruby ทั้งหมดเพิ่ม: วิธีการที่ไม่ได้กำหนดʻauthenticate 'สำหรับ nil: NilClass
การทดสอบส่วนใหญ่ของฉันมีดังต่อไปนี้และฉันไม่เข้าใจว่าทำไม การเรียกวิธีการทั้งหมดทำให้เกิดข้อผิดพลาด 'รับรองความถูกต้อง' ฉันได้ตรวจสอบโค้ดแล้วหากมีวิธีที่เรียกว่า "พิสูจน์ตัวตน" แต่ไม่มีวิธีการดังกล่าว 1) Admin::CommentsController handling GET to index is successful Failure/Error: get :index undefined method `authenticate!' for nil:NilClass # ./spec/controllers/admin/comments_controller_spec.rb:9:in `block (3 levels) in <top (required)>' 124) PostsController handling GET for a single post should render show template Failure/Error: get :show, :year => '2008', :month => …

11
อะไรคือความแตกต่างระหว่างการทดสอบการรวมและการทดสอบการทำงาน? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่? อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ การทดสอบการทำงานและการทดสอบการรวมระบบเหมือนกันหรือไม่ คุณเริ่มการทดสอบของคุณผ่านการทดสอบหน่วยจากนั้นหลังจากเสร็จสิ้นการทดสอบหน่วยคุณไปทำการทดสอบการรวมที่คุณทดสอบระบบโดยรวม การทดสอบฟังก์ชันเหมือนกับการทดสอบการรวมหรือไม่ คุณยังคงใช้ระบบโดยรวมและทดสอบความสอดคล้องของฟังก์ชันการทำงาน
132 testing 

6
กลยุทธ์การแยกส่วน Git ที่รวมเข้ากับกระบวนการทดสอบ / QA
ทีมพัฒนาของเราใช้กลยุทธ์GitFlow branching และมันยอดเยี่ยมมาก! เมื่อเร็ว ๆ นี้เราได้คัดเลือกผู้ทดสอบสองรายเพื่อปรับปรุงคุณภาพซอฟต์แวร์ของเรา แนวคิดคือผู้ทดสอบทุกคนควรทดสอบ / QA ในอดีตนักพัฒนาจะทำงานกับฟีเจอร์ในสาขาฟีเจอร์ที่แยกจากกันและรวมกลับไปที่developสาขาเมื่อเสร็จสิ้น นักพัฒนาจะทดสอบงานของเขาเองในfeatureสาขานั้น ๆ ตอนนี้สำหรับผู้ทดสอบเราเริ่มถามคำถามนี้ ผู้ทดสอบควรทดสอบคุณสมบัติใหม่ในสาขาใด เห็นได้ชัดว่ามีสองทางเลือก: ในแต่ละสาขาคุณลักษณะ ในdevelopสาขา การทดสอบในสาขาการพัฒนา ในขั้นต้นเราเชื่อว่านี่เป็นวิธีที่แน่นอนเพราะ: คุณลักษณะนี้ได้รับการทดสอบกับคุณลักษณะอื่น ๆ ทั้งหมดที่รวมเข้ากับdevelopสาขาตั้งแต่เริ่มการพัฒนา ความขัดแย้งใด ๆ สามารถตรวจพบได้เร็วกว่าในภายหลัง ทำให้งานของผู้ทดสอบง่ายขึ้นเขาจัดการกับสาขาเดียว ( develop) ตลอดเวลา เขาไม่จำเป็นต้องถามนักพัฒนาว่าสาขาใดสำหรับฟีเจอร์ใด (สาขาฟีเจอร์เป็นสาขาส่วนบุคคลที่จัดการโดยนักพัฒนาที่เกี่ยวข้องโดยเฉพาะและอิสระ) ปัญหาที่ใหญ่ที่สุดคือ: developสาขาปนเปื้อนมีข้อบกพร่อง เมื่อผู้ทดสอบพบข้อบกพร่องหรือข้อขัดแย้งเขาจะรายงานกลับไปยังผู้พัฒนาซึ่งเป็นผู้แก้ไขปัญหาในสาขาการพัฒนา (สาขาคุณลักษณะถูกละทิ้งเมื่อรวมเข้าด้วยกัน) และอาจต้องมีการแก้ไขเพิ่มเติมในภายหลัง การคอมมิชชันหรือการรวมในภายหลังหลาย ๆ ครั้ง (หากมีการสร้างสาขาใหม่จากdevelopสาขาอีกครั้งเพื่อแก้ไขจุดบกพร่อง) ทำให้การย้อนคุณสมบัติออกจากdevelopสาขาทำได้ยากมากหากทำได้ มีคุณสมบัติหลายอย่างที่รวมเข้าด้วยกันและได้รับการแก้ไขในdevelopสาขาในเวลาที่ต่างกัน สิ่งนี้ทำให้เกิดปัญหาใหญ่เมื่อเราต้องการสร้างรุ่นที่มีคุณลักษณะบางอย่างในdevelopสาขา การทดสอบในสาขาคุณลักษณะ ดังนั้นเราจึงคิดอีกครั้งและตัดสินใจว่าเราควรทดสอบฟีเจอร์ในสาขาฟีเจอร์ ก่อนที่เราจะทดสอบเราจะรวมการเปลี่ยนแปลงจากdevelopสาขาไปยังสาขาคุณลักษณะ (ตามลำดับdevelopสาขา) ดีจัง: คุณยังคงทดสอบคุณลักษณะนี้กับคุณลักษณะอื่น ๆ …
131 git  testing  qa  git-flow 

3
ฉันจะอ่านรายงานความครอบคลุมของอิสตันบูลได้อย่างไร
ฉันใช้จัสมินในการทดสอบหน่วยของฉันมาโดยตลอด แต่เมื่อเร็ว ๆ นี้ฉันเริ่มใช้อิสตันบูลเพื่อให้รายงานการครอบคลุมรหัสแก่ฉัน ฉันหมายความว่าฉันเข้าใจสาระสำคัญของสิ่งที่พวกเขาพยายามจะบอกฉัน แต่ฉันไม่รู้จริงๆว่าเปอร์เซ็นต์เหล่านี้เป็นตัวแทนของอะไร (Stmts, Branches, Funcs, Lines) จนถึงตอนนี้ Googling ฉันไม่พบคำอธิบาย / แหล่งข้อมูลที่ชัดเจน คำถาม : เหมือนที่ฉันบอกว่าฉันเข้าใจสาระสำคัญของมัน แต่มีคนโพสต์คำอธิบายที่เหมาะสมหรือลิงก์ไปยังคำอธิบายที่เหมาะสมได้หรือไม่? คำถามระดับอุดมศึกษา : มีวิธีใดบ้างในการระบุว่าส่วนใดของโค้ดของคุณไม่ครอบคลุม? จนถึงตอนนี้โดยไม่ต้องบ่นรายงานนี้โดยทั่วไปฉันคาดเดา -------------------|-----------|-----------|-----------|-----------| File | % Stmts |% Branches | % Funcs | % Lines | -------------------|-----------|-----------|-----------|-----------| controllers/ | 88.1 | 77.78 | 78.57 | 88.1 | dashboard.js | …

6
กรอบการทดสอบที่ดีที่สุดที่จะใช้กับ Node.js คืออะไร [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่? อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันได้ดูรายการที่ค่อนข้างยาวของกรอบการทดสอบที่https://github.com/ry/node/wiki/modules#testing ประสบการณ์กับกรอบเหล่านี้คืออะไร? เห็นได้ชัดว่าความสามารถในการทำงานในเบราว์เซอร์จะเป็นโบนัสก้อนโต แต่ฉันสนใจ Node.js เป็นหลัก สิ่งที่มีความเอียงแบบอะซิงโครนัสอย่างหนักจะดีมาก

9
จะพัฒนาและทดสอบแอปที่ส่งอีเมลได้อย่างไร (โดยไม่ต้องกรอกข้อมูลทดสอบในกล่องจดหมายของผู้อื่น) [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันมีแอพมากมายที่ใช้ส่งอีเมล บางครั้งอาจเป็นครั้งละหนึ่งหรือสองข้อความ บางครั้งก็เป็นพันข้อความ ในการพัฒนาฉันมักจะทดสอบโดยแทนที่ที่อยู่ของตัวเองสำหรับที่อยู่ผู้รับใด ๆ ฉันแน่ใจว่านั่นคือสิ่งที่คนอื่นทำจนกว่าพวกเขาจะเบื่อหน่ายและหาทางออกที่ดีกว่า ฉันกำลังคิดเกี่ยวกับการสร้างเซิร์ฟเวอร์ SMTP จำลองที่จับข้อความและทิ้งลงในฐานข้อมูล SQLLite หรือไฟล์ mbox หรืออะไรก็ตาม แต่แน่นอนว่ามีเครื่องมืออยู่แล้ว? คุณจะทดสอบการส่งอีเมลได้อย่างไร?

11
แทนที่ Java System.currentTimeMillis สำหรับการทดสอบโค้ดที่ไวต่อเวลา
มีวิธีการในรหัสหรือด้วยอาร์กิวเมนต์ JVM เพื่อแทนที่เวลาปัจจุบันตามที่นำเสนอผ่านSystem.currentTimeMillisนอกเหนือจากการเปลี่ยนนาฬิการะบบด้วยตนเองบนเครื่องโฮสต์หรือไม่ พื้นหลังเล็กน้อย: เรามีระบบที่เรียกใช้งานบัญชีจำนวนมากที่หมุนเวียนตรรกะส่วนใหญ่ในวันที่ปัจจุบัน (เช่นวันที่ 1 ของเดือนวันที่ 1 ของปี ฯลฯ ) น่าเสียดายที่รหัสเดิมจำนวนมากเรียกใช้ฟังก์ชันเช่นnew Date()หรือCalendar.getInstance()ซึ่งในที่สุดทั้งสองเรียกSystem.currentTimeMillisว่า สำหรับวัตถุประสงค์ในการทดสอบตอนนี้เราติดอยู่กับการอัปเดตนาฬิการะบบด้วยตนเองเพื่อปรับแต่งเวลาและวันที่ที่รหัสคิดว่ากำลังทำการทดสอบ ดังนั้นคำถามของฉันคือ: มีวิธีลบล้างสิ่งที่ส่งคืนSystem.currentTimeMillisหรือไม่? ตัวอย่างเช่นหากต้องการบอกให้ JVM เพิ่มหรือลบออฟเซ็ตบางส่วนโดยอัตโนมัติก่อนที่จะกลับจากวิธีการนั้น ขอบคุณล่วงหน้า!
129 java  testing  jvm  systemtime 

6
คุณจะพิมพ์ในการทดสอบ Go โดยใช้แพ็คเกจ "การทดสอบ" ได้อย่างไร?
ฉันกำลังทำการทดสอบใน Go พร้อมกับคำสั่งเพื่อพิมพ์บางสิ่ง (เช่นสำหรับการดีบักการทดสอบ) แต่มันไม่ได้พิมพ์อะไรเลย func TestPrintSomething(t *testing.T) { fmt.Println("Say hi") } เมื่อฉันเรียกใช้ go test กับไฟล์นี้นี่คือผลลัพธ์: ok command-line-arguments 0.004s วิธีเดียวที่จะทำให้มันพิมพ์ได้จริงเท่าที่ฉันรู้คือการพิมพ์ผ่าน t.Error () ดังนี้: func TestPrintSomethingAgain(t *testing.T) { t.Error("Say hi") } ซึ่งผลลัพธ์นี้: Say hi --- FAIL: TestPrintSomethingAgain (0.00 seconds) foo_test.go:35: Say hi FAIL FAIL command-line-arguments 0.003s gom: exit status 1 ฉันได้ใช้ …
129 testing  go 

10
วิธีการตั้งค่าส่วนหัวของคำขอใน rspec request spec?
ในข้อมูลจำเพาะคอนโทรลเลอร์ฉันสามารถตั้งค่า http accept header ได้ดังนี้: request.accept = "application/json" แต่ในข้อกำหนดคำขอออบเจ็กต์ "request" เป็นศูนย์ แล้วฉันจะมาทำที่นี่ได้อย่างไร? เหตุผลที่ฉันต้องการตั้งค่า http accept header เป็น json คือฉันสามารถทำได้: get '/my/path' แทนสิ่งนี้ get '/my/path.json'

11
การทดสอบหน่วย django โดยไม่มีฐานข้อมูล
มีความเป็นไปได้ไหมที่จะเขียน django unittests โดยไม่ต้องตั้งค่า db? ฉันต้องการทดสอบตรรกะทางธุรกิจที่ไม่ต้องใช้ฐานข้อมูลในการตั้งค่า และในขณะที่ตั้งค่าฐานข้อมูลได้รวดเร็ว แต่ฉันก็ไม่จำเป็นต้องใช้มันในบางสถานการณ์
127 django  testing 

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