PyUseCase เป็นซอฟต์แวร์ทดสอบ GUI สำหรับ PyGTK
การทดสอบ GUI Maintainable กับกรณีใช้บันทึก
บันทึกความตั้งใจมากกว่ากลศาสตร์
วิธีที่เป็นธรรมชาติมากที่สุดในการสร้างการทดสอบผ่านทางอินเตอร์เฟซผู้ใช้ก็คือการดำเนินการการกระทำที่คุณต้องการที่จะดำเนินการและมีเครื่องมือที่สามารถบันทึกพวกเขาแล้วทำซ้ำพวกเขาในภายหลัง นี้เป็นวิธีที่ง่ายและรวดเร็วในการสร้างการทดสอบ GUI และมีอยู่เครื่องมือมากมายที่จะทำเช่นนี้
คู่เครื่องมือทดสอบส่วนใหญ่แน่นกับ GUI
ปัญหาเริ่มต้นเมื่อคุณมีการทดสอบและการเปลี่ยนแปลงไม่กี่ GUI ของคุณ การบันทึกอาจจะเป็นวิธีที่ดีในการสร้างการทดสอบ แต่มันเป็นวิธีที่น่ากลัวในการรักษาจำนวนมากของพวกเขา มันเป็นความผิดพลาดได้ง่ายทำลายและใช้เวลานานมากเมื่อคุณมีการทดสอบไม่กี่ รุ่นแรกของเครื่องมือบันทึกตำแหน่งพิกเซลและยากจนเร็วที่สุดเท่าที่คุณเปลี่ยนความละเอียดหน้าจอของคุณ เครื่องมือการจัดการของวันนี้ในแง่ของกลศาสตร์ GUI: หาตารางที่มีชื่อบางและคลิกในคอลัมน์ที่สามของแถวที่สี่ พวกเขาสามารถอยู่รอดได้เปลี่ยนแปลงหน้าจอและการเตรียมการอีกเล็ก ๆ น้อย ๆ ของ GUI แต่ไม่มากอื่น สคริปต์ที่บันทึกไว้มีความหนาแน่นและไม่ถ่ายทอดวัตถุประสงค์ของการทดสอบและหนังสือปิดทุกคนที่ไม่ใช่ทางเทคนิค (และบางครั้งให้กับทุกคนยกเว้นผู้เขียนของเครื่องมือ)
ปัญหาที่เกิดขึ้นเป็นหลักหนึ่งในการมีเพศสัมพันธ์ การทดสอบและ GUI เป็นคู่แน่นกับแต่ละอื่น ๆ และสะดวกสบายไม่สามารถแตกต่างกันเป็นอิสระจากกัน จุดนี้จะทำอย่างดีจากโรเบิร์ตซีมาร์ตินในบล็อกของเขาที่นี่และข้อสรุปของเขาก็คือการทดสอบ GUI เป็นเนื้อแท้เปราะและคุณควรจะทำตามที่เล็ก ๆ น้อย ๆ ได้ตามที่คุณได้รับไปด้วย
นี้ดูเหมือนว่าค่อนข้างยอมแพ้แม้ว่า มีค่ามากในความสามารถในการแสดงให้เห็นถึงสิ่งที่คุณทำการทดสอบกับผู้ใช้ของระบบ หากหลีกเลี่ยงการทดสอบส่วนติดต่อผู้ใช้แล้วกระบวนการที่ต้องการจำนวนเงินที่ยุติธรรมของทักษะทางด้านเทคนิคและจำนวนมากของความไว้วางใจจากส่วนของผู้ใช้ของคุณ และต่อไปนักพัฒนาซอฟต์แวร์ในการแก้ปัญหาการมีเพศสัมพันธ์ตลอดเวลา คำตอบคือเป็นปกติที่จะแนะนำระดับของความร้ายอีก
ข่าวการมีเพศสัมพันธ์กับแผนที่ UI
ธุรกิจคนและผู้ใช้ทั่วไปในการทำงานในกรณีการใช้งาน เหล่านี้มีรายละเอียดสูงระดับของลำดับของการกระทำในภาษาของพวกเขาเข้าใจ: คือว่าของโดเมน ความคิดของ "กรณีใช้บันทึก" จึงเป็นเครื่องมือที่สามารถบันทึกและเล่นใหม่ลำดับดังกล่าวและจึงจับความตั้งใจของผู้ใช้ นี้จะช่วยให้ความเข้าใจที่เพิ่มขึ้นน้อยกว่าการพึ่งพาอาศัยกันในรูปแบบที่แน่นอนของ GUI และการปรับตัวได้ง่ายขึ้นของการทดสอบที่มีอยู่โดยไม่ต้อง resorting การคลิกปุ่มทั้งหมดอีกครั้ง
กลไกพื้นฐานคือการที่เรารักษาแมประหว่างการดำเนินการที่ขณะนี้สามารถดำเนินการกับ GUI และงบของเราในภาษาของโดเมนนี้ การเปลี่ยนแปลง GUI แล้วหมายความว่าการทำแผนที่เดียวนี้ต้องมีการปรับปรุง แต่ผลการทดสอบจะยังคงไม่ถูกแตะต้องอย่างต่อเนื่องเพื่ออธิบายสิ่งที่จะต้องทำในระดับความคิด การทำแผนที่นี้ใช้รูปแบบของแฟ้มภายนอกใน PyUseCase 3.0 และเตรียมพร้อม JUseCase 3.0 ในขณะที่รุ่นเก่าจะใช้เวลาในรูปแบบของการใช้เครื่องมือในรหัสโปรแกรม
การตรวจสอบพฤติกรรมที่ผ่านบันทึกและ TextTest
ดังนั้นบันทึกกรณีการใช้งานของเราสามารถบันทึกและเล่นใหม่ usecases สำหรับเรา แต่วิธีที่เราสามารถตรวจสอบว่าสิ่งที่เราเห็นบนหน้าจอที่ถูกต้อง? ส่วนใหญ่เครื่องมือ GUI ทำเช่นนี้โดยการอนุญาตให้สคริปต์ทดสอบที่จะมี "ยืนยัน" ซึ่งมองขึ้นเครื่องมือบางอย่างและตรวจสอบว่าทรัพย์สินของมันบางเท่ากับค่า hardcoded นี้จะสร้างการพึ่งพาอาศัยยังเพิ่มเติมเกี่ยวกับรูปแบบ GUI ในปัจจุบันและไม่สามารถ "บันทึก" ในทางธรรมชาติใด ๆ แต่จะต้องมีโปรแกรมในตามความเป็นจริง ไม่มี "usecase" ธรรมชาติจะมีข้อมูลนี้ถ้ามันไม่ได้จะกลายเป็นสคริปต์ทดสอบ
การสนทนานี้ไม่ได้อยู่บนเว็บไซต์ TextTest เพื่ออะไร ถ้าเราสามารถได้รับใบสมัครของเราในการผลิตเข้าสู่ระบบของสิ่งที่ GUI ดูเหมือนว่าเราสามารถตรวจสอบสิ่งที่มันไม่โดยการตรวจสอบเนื้อหาของบันทึกการใช้ TextTest ว่า PyUseCase 3.0 ไม่นี้สำหรับคุณ: มันสร้างบันทึกประเภท ASCII ศิลปะของลักษณะ GUI ในปัจจุบันและตรวจสอบการเปลี่ยนแปลงไป แอพลิเคชันสามารถเสริมด้วยการเข้าสู่ระบบของตัวเองในขณะที่มันมีความประสงค์ ด้วยการบันทึกกรณีการใช้งานแอพลิเคชันอื่น ๆ ความต้องการที่จะสร้างบันทึกของตัวเองเพื่อการนี้ในขณะนี้
การทดสอบโครไนซโดยเครื่องมือรหัส
เกือบความพยายามทดสอบ GUI ทั้งหมดจะเต็มไปด้วยปัญหาเกี่ยวกับการทำให้แน่ใจว่าสคริปต์รอนานพอก่อนดำเนินการเมื่อสิ่งที่เกิดขึ้นในพื้นหลัง การแก้ปัญหาที่มีตั้งแต่วิธีลับที่จะรอให้เครื่องมือบางอย่างที่มีลักษณะบางอย่าง (ยังอ้างอิงเพิ่มเติมเกี่ยวกับกลศาสตร์-GUI) ที่จะนอน "" งบกระจายอยู่อย่างกว้างขวางทั่ว ซึ่งล้มเหลวเมื่อระบบมีการโหลดและก่อให้เกิดการทดสอบการทำงานช้ามากขึ้นกว่าที่พวกเขาจะเป็นอย่างอื่น ทุกคนไม่มีความรู้ใกล้ชิดของรหัสนี้ไม่พร้อมที่จะแก้ปัญหาดังกล่าว แต่การทำเช่นนั้นเป็นส่วนสำคัญของการเขียนการทดสอบ
บันทึกการใช้งานกรณีแนะนำแนวคิดของ "งานอีเว้นท์" นี้เป็นพื้นวัดบางในรหัสที่บ่งชี้ว่าการบันทึกการใช้งานกรณีที่บางสิ่งบางอย่างที่เกิดขึ้นที่จะต้องรอให้จึงช่วยให้การบันทึกการบันทึกและเล่นใหม่รอเช่นเดียวกับการคลิก เหล่านี้จะอธิบายในรายละเอียดเพิ่มเติมได้ที่นี่
บันทึกแมโครเช่นเดียวกับการทดสอบ
ระดับสูงจัดการได้อย่างง่ายดาย "usecases" มีประโยชน์สำหรับสิ่งอื่น ๆ นอกเหนือจากการทดสอบ พวกเขายังมีประโยชน์อย่างยิ่งสำหรับผู้ใช้ระบบที่สามารถสร้างแมโครของตัวเองสำหรับลำดับของการกระทำของพวกเขาดำเนินการบ่อย
เหล่านี้เป็นที่รู้จักกันว่าเป็น "ทางลัด GUI" ที่นี่ บันทึกการใช้งานกรณีที่โดยปกติจะช่วยให้แอพลิเคชันที่จะขอ "แถบเครื่องมือ" จากที่มีการควบคุมสำหรับการบันทึกและ replaying พวกเขาที่สามารถใส่เข้าไปใน GUI แอพลิเคชันที่เป็นที่ต้องการ นอกจากนี้ยังช่วยให้ผู้ใช้สามารถสร้างแมโครพวกเขายังสามารถใช้ในการสร้างแนวคิดระดับที่สูงขึ้นสำหรับ "ภาษาการทดสอบ" อธิบายไว้ข้างต้นในการช่วยทดสอบดำเนินการซ้ำแล้วซ้ำอีกในการเข้าถึงหน้าจอบางอย่างสำหรับการทดสอบ เหล่านี้จะอธิบายในรายละเอียดเพิ่มเติมได้ที่นี่
ข้อมูลเพิ่มเติมสามารถพบได้บนหน้าแรกของโครงการ
มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.
- การสนับสนุนขั้นพื้นฐานมากสำหรับ wxPython เป็น เพิ่ม.
- นอกจากนี้ยังมีจำนวนของการปรับปรุงและ bugfixes สำหรับ PyGTK ยวด gtk.Dialog.run ได้รับการสนับสนุนในขณะนี้โดยไม่ต้องมีแหล่งที่มาของการเปลี่ยนแปลงรหัส.
- งูหลาม 2.6 และ PyGTK 2.12 หรือสูงกว่าจะต้องในขณะนี้.
- อินเตอร์เฟซที่ใช้เครื่องมือแบบดั้งเดิมได้ถูกลบออก.
ต้องการ
- งูใหญ่
- PyGTK
- TextTest
ความคิดเห็นที่ไม่พบ