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

6
จะทดสอบการกำหนดค่า Terraform อย่างไร
หากคุณมีการกำหนดค่าTerraformที่มีความซับซ้อนในระดับปานกลางคุณจะเขียนการทดสอบเกี่ยวกับการกำหนดค่าที่สามารถดำเนินการโดยเป็นส่วนหนึ่งของขั้นตอนการรวมระบบต่อเนื่อง / การจัดส่งแบบต่อเนื่องได้อย่างไร ตัวอย่างเช่นคุณอาจมีการกำหนดค่าหลายคลาวด์ที่ระบุสถานะที่ต้องการต่อไปนี้: Azure Container Services เพื่อโฮสต์ Docker ใน Azure Azure Blob Storage SQL Azure บริการคอนเทนเนอร์ EC2 เพื่อโฮสต์ Docker ใน AWS บริการจัดเก็บ Amazon S3 ฐานข้อมูล Amazon RDS SQL Server อาจเป็นไปterraform applyได้ที่จะสร้างข้างต้นจากรอยขีดข่วนหรือการเปลี่ยนจากสถานะที่ใช้งานบางส่วนไปเป็นสถานะที่ต้องการข้างต้น ฉันทราบว่า Terraform แบ่งงานออกเป็นขั้นตอนการวางแผนการดำเนินการและขั้นตอนการสมัครซึ่งจริง ๆ แล้วทำการเปลี่ยนแปลงสถาปัตยกรรมเป้าหมาย สิ่งนี้สามารถใช้เพื่อเขียนการทดสอบเทียบกับแผนการดำเนินการได้หรือไม่หากมีกรอบในการช่วยเขียนสิ่งเหล่านี้

5
จะทดสอบการจัดเตรียมและการกำหนดค่าในการตั้งค่า Ansible ได้อย่างไร
ดูที่การพยายามสร้างความยืดหยุ่นในการตั้งค่า Ansible ของเราซึ่งเกี่ยวข้องกับการจัดสรรและการกำหนดค่า ฉันเข้าใจวิธีการทดสอบสองสามอย่างในด้านการกำหนดค่าของสิ่งต่าง ๆ แต่ฉันสงสัยว่าจะนำการทดสอบไปใช้ในด้านการจัดเตรียมสิ่งต่าง ๆ ได้อย่างไรและหากมีเครื่องมือใด ๆ ที่สามารถช่วยในการใช้งานประเภทนี้ ขณะนี้การทดสอบจำนวนมากของเราทำเสร็จแล้วในช่วง playbook ซึ่งทำให้รู้สึกเป็นอย่างมากสำหรับ "สิ่งที่จะเกิดขึ้น" มีบริการขึ้นมาคือ vip ที่มีให้ใช้งาน async นี้เสร็จแล้ว "แต่สิ่งที่เกี่ยวข้องกับฉันคือความสามารถในการจัดการ การกำหนดค่าที่ทั้งแอปพลิเคชันและชั้นการจัดเตรียม (เช่นการกำหนดค่า VM) ฉันรู้ว่า Ansible ไม่ใช่เครื่องมือที่ดีที่สุดสำหรับการทำงานกับการตั้งค่าดริฟท์ แต่ฉันอยากรู้อยากเห็นความคิดเห็นของคุณเอง หากคุณมีสิ่งที่จะทำให้กระบวนการอัตโนมัติดียิ่งขึ้น (เรามีสคริปต์ที่น่าเกลียดอยู่สองสามฉบับซึ่งรายงานกลับมาเป็นรายวัน) หมายเหตุ : ตอนนี้เรามีเงื่อนไขบางประการที่อาจเกิดการ reprovision ขึ้นมาใหม่ (เช่นการสร้างใหม่จากการสำรองข้อมูลปัญหาของระบบที่สำคัญ) แต่โดยทั่วไปแล้วมันจะวนซ้ำผ่านงานการกำหนดค่า ansible บางอย่างและไม่คิดอีกต่อไป

5
วิธีหลีกเลี่ยงความไม่แน่นอนที่เกิดจากการรวมอย่างต่อเนื่องในสภาพแวดล้อมการทดสอบ
สมมติว่าคุณกำลังใช้กระบวนการรวมอย่างต่อเนื่องซึ่งมักจะปรับปรุงสภาพแวดล้อมเป้าหมายบางอย่างเพื่อให้ทุกครั้งที่มีการเปลี่ยนแปลง "คุณ" สามารถทดสอบการเปลี่ยนแปลงได้ทันที นั่นเป็นส่วนหนึ่งของเป้าหมายของ CI ใช่ไหม แต่สมมติว่าคุณมีบุคคลอื่นที่เกี่ยวข้องในรอบการทดสอบของคุณเช่นผู้จัดการหรือลูกค้า เหมาะสมที่จะให้คนอื่นมีส่วนร่วมในการลองตรวจสอบ (แตกหัก) การเปลี่ยนแปลงที่กำลังจะเกิดขึ้นไม่ใช่หรือ? แต่ถ้าคุณอย่างต่อเนื่องให้การส่งมอบการเปลี่ยนแปลงในสภาพแวดล้อมที่คนอื่น ๆ เหล่านั้นอย่างจริงจังพยายามที่จะทดสอบพวกเขาแล้วหลายประเด็นที่อาจเกิดขึ้นเช่น: they อาจเสียเวลาในการรายงานปัญหาซึ่งเมื่อถึงเวลาบันทึกรายงาน (เชิงลึก) พวกเขาไม่สามารถทำซ้ำปัญหาได้อีก (เช่นเนื่องจากคุณบังเอิญพบปัญหาเดียวกันและแก้ไขในสภาพแวดล้อมของพวกเขาแล้ว) you อาจไม่สามารถทำซ้ำปัญหาที่พวกเขารายงานเนื่องจากสภาพแวดล้อมที่พวกเขาพบปัญหาบางอย่างไม่เหมือนกันอีกต่อไป (คุณ (!!!) อาจทำให้สภาพแวดล้อมของพวกเขาซ้อนทับ) ดังนั้นคุณจะทำอย่างไร (จะกำหนดค่าสิ่งต่าง ๆ ได้อย่างไร) เพื่อหลีกเลี่ยงสถานการณ์ (ที่น่าผิดหวัง)?

4
Ansible: มีตัวเลือกอื่นสำหรับการตรวจสอบ telnet ของพอร์ตที่เปิดอยู่หรือไม่
ฉันใหม่กับ Ansible นี่คืองานของฉัน ... ฉันมีโฮสต์มากกว่า 400 แห่งและฉันต้องตรวจสอบว่า 5 พอร์ตที่แตกต่างกันเปิดจากจุดสิ้นสุดไปยังเว็บเซิร์ฟเวอร์ของเราหรือไม่ ทีละคนฉันสามารถเข้าสู่ระบบและเรียกใช้: telnet mywebserver.com 443 telnet mywebserver.com 80 telnet mywebserver.com 8443 .. และอื่น ๆ .. โมดูลหรือปลั๊กอินใดที่สามารถใช้ใน Ansible เพื่อให้ฉันสามารถทำสิ่งนี้โดยอัตโนมัติและรายงานผลลัพธ์ (ไม่ว่าจะเปิดหรือปิดพอร์ต) กลับไปที่เซิร์ฟเวอร์ Ansible ของฉันหรือไม่
15 ansible  testing  ports 

1
วิธีที่เป็นระบบในการทดสอบ RESTful API ด้วย curl หรือไม่
ฉันสังเกตเห็นในระหว่างการทดสอบการรวมระบบว่าฉันใช้งานกรณีการใช้ซ้ำ ๆ กับ API ที่พักผ่อนหย่อนใจ (หรืออินเทอร์เฟซ HTTP ทั่วไป) ฉันตรวจสอบที่นี่และมี bash + cURL มันเริ่มมองค่อนข้างยุ่งและยากที่จะรักษา ทำไมต้องเป็นระเบียบ? กรณีการใช้งานทั่วไปคือ: ตรวจสอบว่า URL ส่งคืนรหัสตอบกลับ http เช่น 200 ตรวจสอบว่าประเภทเนื้อหาตรงกับ MIME บางอย่างที่คุณต้องการในกรณีนั้น ตรวจสอบว่าเนื้อหาที่ส่งคืนตรงกับรูปแบบบางอย่างหรือผ่านขั้นตอนการตรวจสอบความถูกต้องแบบนามธรรม สิ่งที่ฉันได้พบและพิจารณาตัวเลือกใช้การได้โดยไม่ต้อง reinventing ล้อคือ: ไปกับ PyCurl ด้วยความหวังว่ามันจะใช้ตัวเลือกของ cURL ทั้งหมด พร็อกซี่ แต่ยังสวิตช์อื่น ๆ ที่ฉันอาจต้อง ใช้ Python สร้างขึ้นในหน่วย testng ตัวอย่างเช่นจากนั้นฉันสามารถทดสอบหนึ่งหน่วยต่อบริการที่ฉันต้องการตรวจสอบ: import unittest, pycurl class TestService (unittest.TestCase): def test_1(self): …

4
โครงสร้างพื้นฐานเป็นรหัสและ TDD
โครงสร้างพื้นฐานเป็นรหัสบอกให้เราใช้เครื่องมือที่ทำให้งานสร้างของคุณเป็นแบบอัตโนมัติ ยิ่งใหญ่ เครื่องมืออย่างansible , พ่อครัว , หุ่นเชิด , กองเกลือและอื่น ๆ ผลักดันเราให้เขียนว่าโครงสร้างพื้นฐานมีลักษณะอย่างไรในขณะที่แก้ไขความแตกต่าง ใน Salt กองบิตเหล่านี้จะเรียกว่ารัฐ หากรัฐไม่ตรงกับความจริงเครื่องมือจะแก้ไขให้เรา กล่าวอีกนัยหนึ่ง - เรากำลังเขียนการทดสอบสำหรับโครงสร้างพื้นฐานของเราและหากการทดสอบล้มเหลวเครื่องมือจะแก้ไขด้วยตนเอง อย่างน้อยนั่นก็เป็นความคิด XP สอนให้เราใช้ TDD และคำถามคือถ้ามันใช้กับโครงสร้างพื้นฐานได้หรือไม่ การขับรถแสดงให้เห็นว่ามันเป็น ฉันนึกภาพการทดสอบบางประเภทที่มีประโยชน์มาก เราเขียนการทดสอบควันที่มาพร้อมกับบริการที่ปรับใช้เพื่อให้แน่ใจว่าบริการที่ปรับใช้แบบ end-to-end จะทำงานและทำงานตามที่คาดไว้ นี่จะเป็นการเรียก API หรือ / และ systemctl ตรวจสอบเพื่อให้แน่ใจว่าสิ่งที่เราเพิ่งปรับใช้งาน ฟังก์ชั่นจำนวนมากนี้สามารถครอบคลุมในสถานะเดียวกันเนื่องจากเครื่องมือเช่น ansible มีสถานะเพื่อให้แน่ใจว่าบริการกำลังทำงานอยู่ มีโครงการโมเลกุลที่อนุญาตให้เรียกใช้แต่ละบทบาท (ตามที่เรียกว่าสถานะของมัน) เทียบกับนักเทียบท่าหรือเครื่องมือ virtualisation ชั่วคราวอื่น กองกำลังนี้จะแยกบทบาทและอนุญาตให้ดำเนินการแยกจาก playbook ขณะที่ทำงานกับพวกเขา การทดสอบส่วนใหญ่อนุญาตการเยาะเย้ยตัวแปรที่บทบาทควรจะทำงานด้วย ตัวอย่างอื่น ๆ ดูเหมือนจะซ้ำซ้อนของเอ็นจิน …

3
วิธีทดสอบสคริปต์การเตรียม VM โดยไม่ต้องเตรียม
ขณะนี้ฉันอยู่ในสถานะที่การทดสอบค่าใช้จ่ายฉันเงินและเวลามาก ... ความเป็นมา: ฉันกำลังปรับใช้ VMs ที่ softlayer และใช้สคริปต์หลังการปรับใช้ (ทุบตี) ที่จะติดตั้งซอฟต์แวร์ทุกอย่างที่ฉันต้องการหลังจากที่ VM พร้อมใช้งาน ปัญหาคือฉันสามารถทดสอบสคริปต์นี้ได้โดยการปรับใช้ VM หนึ่งตัวและในขณะนี้ใช้เวลาประมาณ 4 ชั่วโมงเพื่อให้สคริปต์เสร็จสิ้น ... ดังนั้นการเปลี่ยนแปลงทุกครั้งที่ฉันทำให้ฉันต้องสร้าง VM ใหม่ (ค่าใช้จ่าย) และรอรอบ 4 ชั่วโมงเพื่อดูว่าสคริปต์ใช้งานไม่ได้หรือไม่ ... นี่เป็นความโกลาหลและฉันจะไม่สามารถเดินหน้าต่อไปได้ ฉันต้องการวิธีใหม่ในการเข้าถึงสถานการณ์แบบนี้และสามารถทดสอบสคริปต์การจัดสรรได้เร็วขึ้นและไม่จำเป็นต้องปรับใช้ VM ใหม่ทุกครั้ง พวกคุณรู้จักเครื่องมือช่วยฉันในสถานการณ์นี้หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.