กระบวนการปรับใช้การพัฒนาแบบว่องไว การควบคุมคุณภาพและเจ้าของธุรกิจทดสอบที่ไหน


9

ฉันอ่านมากเมื่อเร็ว ๆ นี้เกี่ยวกับกระบวนการปรับใช้เว็บแอปพลิเคชันต่าง ๆ โดยใช้ SVN หรือ GIT เพื่อดูการออกแบบวิธีที่เราปรับใช้ในที่ทำงาน

เช่นเดียวกับวิธีที่มีความหลากหลายของความคล่องตัวก็ถือว่าสิ่งที่มุ่งมั่นที่จะต้นแบบหรือลำตัวพร้อมที่จะผลิต ทั้ง GitHub และ Etsy, http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/บอกว่าพวกเขาทำงานบนพื้นฐานนี้ (แม้ว่า Etsy จะมีสภาพแวดล้อมจริง)

กระบวนการนี้ถือว่าการทดสอบหน่วยและการทดสอบ CI ทั้งหมดได้รับการดำเนินการ คุณเรียกใช้การทดสอบแบบโลคัลและบน CI จากนั้นคอมมิทไปที่ trunk ดังนั้นที่จุดนี้รหัสของคุณในทางเทคนิคเสียง

รหัสของคุณอาจถูกต้องทางเทคนิค แต่การทดสอบผู้ใช้ / ฟังก์ชั่นอาจพบข้อผิดพลาดมากขึ้นโดยเฉพาะอย่างยิ่งเมื่อมันมาถึงการทดสอบส่วนหน้า

คำถามของฉันคือสิ่งนี้ เจ้าของ QA และธุรกิจจะทดสอบการเปลี่ยนแปลงคุณสมบัติที่คุณนำไปใช้ที่ไหน บนเครื่องพัฒนาท้องถิ่นของคุณก่อนที่คุณจะผูกพันหรือบนเครื่อง QA / การแสดงละคร?

หากคุณมีเครื่อง staging ที่รัน trunk และคุณคิดว่ารหัสทั้งหมดที่กำหนดให้กับ trunk นั้นพร้อมใช้งานแล้วกำลังผลิต ... เอ๊ะ .. แล้วรหัสใดที่ถูกปิดและดีที่จะเข้าสู่การผลิตจากทั้งทางเทคนิคและธุรกิจ มุมมอง? หากคุณมีเครื่อง staging เพียงเครื่องเดียวนักพัฒนาจำนวนมากและนั่นคือที่ที่รหัสจะถูก QA แล้ววิธีที่คุณสามารถปรับใช้จากลำตัวเนื่องจากการเปลี่ยนแปลงของนักพัฒนาหลายคนกำลังรอออกจากระบบ

ฉันสนใจที่จะฟังว่าคนอื่น ๆ เข้าหาสิ่งนี้อย่างไร

คำตอบ:


6

สำหรับดีขึ้นหรือแย่ลงฉันมักจะเห็นสิ่งนี้ทำที่การทดสอบจะทำกับฐานสาขาและลงชื่อออกจากธุรกิจคือสิ่งที่จุดตรวจคือการรวมกับการปรับใช้หลัก

ฉันได้เห็นสิ่งนี้ทำทั้งกับการพัฒนาใน "หลัก" กับแยก "ปรับใช้" สาขาหรือคุณสมบัติ "พัฒนา" สาขากับหลักเป็น "ปรับใช้"

เวิร์กโฟลว์จะดูคล้ายกับสิ่งนี้:

  • รหัสบางอย่าง
  • เรียกใช้การทดสอบในท้องถิ่น
  • เช็คอินที่สาขาทำงาน
  • (ไม่บังคับ) สร้างเซิร์ฟเวอร์สร้างการทดสอบมด
  • การทดสอบคุณภาพ / ธุรกิจ
  • การแก้ไขข้อบกพร่อง (วนกลับไปด้านบน)
  • ผสานการปรับใช้สาขา
  • ปรับใช้

บางคนทำงานออกจากสาขาเดียว แต่ถ้าคุณจะมีการทดสอบด้วยตนเองที่ได้รับยาก คนส่วนใหญ่ที่ฉันพบพบว่าการทำงานบนสมมติฐานที่ว่าสิ่งที่สามารถนำไปใช้ในการกระทำที่ยังทำงานออกมาจากลำตัวเดียวกำลังทำอะไรเล็ก ๆ หรือมีการทดสอบอัตโนมัติจำนวนมากหรือพวกเขาคิดว่า "ปรับใช้" ในการสนทนานี้ เป็น build ไปยังเซิร์ฟเวอร์ทดสอบและกระบวนการ QA ที่เกิดขึ้นระหว่างเซิร์ฟเวอร์ทดสอบและการผลิตนั้นได้รับการจัดการแยกกัน


ขอบคุณบิล เราทำงานในสภาพแวดล้อมที่นักพัฒนาให้การยอมรับและปรับใช้ฟังก์ชั่นแยกต่างหากสำหรับเว็บไซต์ หากทำงานในสาขาคุณลักษณะหลังจากทำการตรวจสอบในสาขาการทำงานคุณจะเห็นการทดสอบ QA / Business ที่ดำเนินการอยู่ที่ไหน หากคุณมีเครื่อง QA เพียงเครื่องเดียวที่นักพัฒนามอบหมายสาขาให้แล้วจะสามารถทดสอบคุณสมบัติได้ครั้งละหนึ่งรายการเว้นแต่ว่าคุณอาจมีไซต์และอินสแตนซ์แยกต่างหากของแอปพลิเคชันเซิร์ฟเวอร์ที่ตั้งค่าสำหรับนักพัฒนาแต่ละรายบนเครื่อง QA สามารถทำการทดสอบการเปลี่ยนแปลงในการแยกก่อนที่จะผูกไว้กับลำต้น
Bazza

จากประสบการณ์ของฉันด้วยสิ่งนี้โดยปกติเราไม่ได้สร้างฟีเจอร์แยกต่างหากสำหรับแต่ละ dev เหมือนกับหนึ่งสำหรับแต่ละทีมและเราได้ตั้งค่าโฮสต์ qa สำหรับแต่ละคนแม้ว่ามันจะเป็นเพียงแค่อุปกรณ์เสริม
Bill

ขอบคุณสำหรับความคิดเห็น ทำให้ฉันมีความคิดบางอย่าง
Bazza

2

เรามีการทดสอบการยอมรับอัตโนมัติในสาขาคุณสมบัติเดียวกัน เมื่อคุณเปิดตัวผู้สมัครจะมีการทดสอบอัตโนมัติที่คุณวิ่งเพื่อดูว่าคุณสมบัติผ่านไปหรือไม่ คุณยังทดสอบผู้สมัครรับการปล่อยตัว เมื่อทุกอย่างผ่านไปแล้วคุณจะโปรโมตมันโดยผสานกับตัวควบคุมหลัก

เพิ่มเติมเกี่ยวกับกระบวนการนี้ที่นี่:

https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR

จะตรวจสอบความคิดเห็นเช่นกัน

หวังว่าจะช่วยได้

อาดัม


@ Adam - ขอบคุณสำหรับสิ่งนั้นและลิงค์ การสนทนาที่นั่นน่าสนใจ อาหารสมอง.
Bazza

0

ตามกฎทั่วไปการรอก่อนที่โค้ดจะสมบูรณ์จะใช้เวลาครึ่งหนึ่งในการนำข้อดีของระบบควบคุมเวอร์ชันกลับมา (ไม่มีรายละเอียดมากนักฉันจะบอกว่าถ้าไม่มีใครได้รับอนุญาตให้เช็คอินหลายครั้งกับ VCS ไม่มีใครสามารถเปลี่ยนงานของฉันเองได้!) ดังนั้นตามหลักปฏิบัติเรามักขอให้ผู้คนเช็คอินอยู่เสมอ (ภายในสาขาของ SVN หรืออาจเป็นข้อผูกพันในท้องถิ่นในกรณีของ GIT) มากที่สุดเท่าที่พวกเขาต้องการ ในความเป็นจริงยิ่งดี

อย่างไรก็ตามเมื่อถึงจุดที่ทุกอย่างดูเหมือนว่าจะทำและทดสอบ - เราเรียกมันว่ารุ่นและจากนั้นจะรวมกับลำตัว โดยพื้นฐานแล้ว QA สามารถรับรอง RC โดยทำการเช็คเอาท์สดใหม่HEADที่สาขาและถ้าเขา / เธอ Okey ของมันเหมือนกันคือผสานกลับกับลำตัว

โดยพื้นฐานแล้วเราใช้แนวคิดของภาระงานหรือสาขาเอกชนเพื่อให้ผู้คนมีอิสระในการเช็คอินได้มากเท่าที่ต้องการ ในเวลาเดียวกันลำตัวค่อนข้างเป็นอิสระจากการเช็คอินที่เสีย

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