portaldacalheta.pt
  • หลัก
  • กระบวนการและเครื่องมือ
  • การวางแผนและการพยากรณ์
  • การออกแบบ Ui
  • การจัดการโครงการ
เทคโนโลยี

การทดสอบ UI Android และ iOS ด้วย Calabash



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

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



การทดสอบการยอมรับ Calabash สำหรับ Android และ iOS



ในขณะที่แพลตฟอร์มอื่น ๆ เช่นเว็บมีความก้าวหน้าอย่างมากในแง่ของกลไกการทดสอบและเฟรมเวิร์ก แต่ขอบเขตมือถือไม่ได้ล้าหลัง ในบทความนี้คุณจะได้เรียนรู้วิธีใช้ Calabash เพื่อทำให้ UI อัตโนมัติสำหรับแอป Android และ iOS ของคุณโดยใช้คำแนะนำภาษาอังกฤษล้วน ๆ และทำการทดสอบการยอมรับโดยไม่เจ็บปวดเท่าที่จะทำได้



การทดสอบ UI คืออะไรทั้งหมดเกี่ยวกับ?

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

หน่วยทดสอบคืออะไร

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



“ ฟังดูดีมาก” คุณพูด แต่จะทำอย่างไรกับแอป Android หรือ iOS ของคุณ

กรอบการทดสอบ UI สำหรับ Android และ iOS

หากคุณอ่านเอกสารอย่างเป็นทางการสำหรับ Android และ iOS พวกเขาแนะนำให้คุณเขียนและเรียกใช้การทดสอบ UI ใน IDE อย่างเป็นทางการ สำหรับ Android มันคือ Android Studio และสำหรับ iOS คือ Xcode



เอกสารอย่างเป็นทางการไปไกลถึงการแนะนำกรอบเฉพาะสำหรับการทดสอบ เอกสารอย่างเป็นทางการของ Android ครอบคลุมบางหัวข้อเกี่ยวกับ แสดงออก กรอบการทดสอบ Android UI ในทำนองเดียวกัน Apple แนะนำให้ใช้ไฟล์ XCTest กรอบ.

และหากคุณกำลังจะดำเนินการทดสอบ UI อย่างจริงจังคุณอาจปฏิบัติตามคำแนะนำเหล่านี้ซึ่งเหมาะสมเนื่องจาก Google ดูแล Espresso และเป็นส่วนหนึ่งของ Android Support Repository มีความเป็นไปได้สูงมากที่ Espresso จะรองรับฟีเจอร์ใหม่ทั้งหมดที่ Google จะแนะนำสำหรับ Android ในอนาคต คุณสามารถพูดเช่นเดียวกันเกี่ยวกับกรอบงาน XCTest สำหรับ iOS



อย่างไรก็ตามโปรดทราบว่าแม้จะมีประโยชน์มากมายของการทดสอบอัตโนมัติ แต่นักพัฒนาหลายคนก็ไม่ได้เขียนเลย

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



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

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



การออกแบบในงานศิลปะคืออะไร

แต่จะเกิดอะไรขึ้นถ้ามีเฟรมเวิร์กที่ทำให้การทดสอบ UI ง่ายขึ้นและไม่มีข้ออ้างใด ๆ ที่จะไม่เขียนการทดสอบ UI สำหรับแอปของคุณ

พบกัน น้ำเต้า .

น้ำเต้า: การทดสอบการยอมรับอัตโนมัติสำหรับแอพมือถือ

ประมาณหนึ่งปีที่แล้วฉันเริ่มค้นหากรอบการทดสอบที่จะใช้งานง่ายสำหรับผู้ที่ไม่ใช่นักพัฒนาซอฟต์แวร์ และนั่นคือตอนที่ฉันพบน้ำเต้า

กรอบการทดสอบโอเพ่นซอร์สนี้พัฒนาและดูแลโดย Xamarin ทีมทำงานได้ทั้ง Android และ iOS ช่วยให้คุณเขียนและดำเนินการทดสอบการยอมรับอัตโนมัติสำหรับแอปพลิเคชันมือถือ

โดยทั่วไปการทดสอบการยอมรับคือสิ่งที่เกิดขึ้นหลังจากการทดสอบระบบซึ่งจะตัดสินว่าแอปของคุณตรงตามข้อกำหนดทางธุรกิจหรือไม่ เนื่องจากมันทำงานในระดับ UI จึงทำงานได้ดีกับเฟรมเวิร์กการทดสอบ UI อัตโนมัติที่เราเลือก

น้ำเต้าสามารถโต้ตอบกับแอปของคุณได้เหมือน Espresso หรือ XCTest อย่างไรก็ตามสิ่งที่ทำให้ Calabash เป็นตัวเลือกที่ยอดเยี่ยมที่นี่คือการสนับสนุน Cucumber

แตงกวาเป็นเครื่องมือที่สามารถเรียกใช้การทดสอบอัตโนมัติที่เขียนเป็นภาษาอังกฤษล้วนได้ (หากต้องการคุณสามารถปรับให้ใช้ภาษาธรรมดาอื่น ๆ ได้) ดังนั้นในการเขียนการทดสอบอัตโนมัติบน Cucumber ผู้ทดสอบไม่จำเป็นต้องรู้ Java, Objective-C หรือภาษาโปรแกรมอื่น ๆ

อะไรทำให้น้ำเต้าเห็บ?

กรอบงาน Calabash ประกอบด้วยไลบรารีที่สามารถโต้ตอบกับแอป Android และ iOS สามารถใช้งานได้บนอุปกรณ์จริง ดังนั้นจึงสามารถทำสิ่งต่างๆที่ผู้ทดสอบทำด้วยตนเองได้

มีสองโครงการที่แตกต่างกันใน GitHub ที่ทำให้ Calabash เป็นไปได้:

  • น้ำเต้า Android - สำหรับ Android

  • น้ำเต้าไอโอเอส - สำหรับ iOS

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

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

จากนั้นติดตั้ง Calabash สำหรับแพลตฟอร์มโปรดของคุณโดยทำตามลิงก์ GitHub ด้านบน

อัลกอริธึมการเรียนรู้ของเครื่องใน python

เขียนการทดสอบครั้งแรกของคุณเกี่ยวกับน้ำเต้า

การทดสอบการเขียนบนน้ำเต้านั้นค่อนข้างง่าย มาดูกันว่าการทดสอบอย่างง่ายสำหรับแอป iOS มีลักษณะอย่างไร:

Feature: User Login Scenario: Unsuccessful user login Given the app has launched Then I wait for the 'Login' button to appear When I enter 'tstuser' into the 'Username' field And I enter 'qwerty' into the 'Password' field And I touch 'Login' Then I should see 'Username you entered is incorrect' Scenario: Successful user login Given the app has launched Then I wait for the 'Login' button to appear When I enter 'testeruser' into the 'Username' field And I enter 'qwerty' into the 'Password' field And I touch 'Login' Then I should see 'Hey testeruser!'

ที่นี่มีการทดสอบแอปด้วยชื่อผู้ใช้และรหัสผ่านที่ไม่ถูกต้องจากนั้นกำลังทดสอบด้วยชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง การทดสอบคาดว่าแอปจะล้มเหลวในการเข้าสู่ระบบสำหรับสถานการณ์แรก แต่ประสบความสำเร็จในสถานการณ์ที่สอง

คุณสามารถสร้างสถานการณ์ได้มากเท่าที่ต้องการและสิ่งที่คุณต้องทำคือแบ่งขั้นตอน / คำแนะนำเป็นประโยคภาษาอังกฤษง่ายๆ เหมือนที่คุณจะเขียนเรื่อง!

ทุกคนที่รู้เกี่ยวกับ การพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม (BDD) จะพบว่าตัวเองคุ้นเคยกับเรื่องนี้อยู่แล้ว

Calabash ทำงานอย่างไร?

หากต้องการดูว่าเกิดอะไรขึ้นเบื้องหลังขั้นตอนที่ผู้ทดสอบใช้คุณสามารถเปิดโปรเจ็กต์บน GitHub และตรวจสอบสิ่งต่อไปนี้ ไฟล์ :

calabash-cucumber/features/step_definitions/calabash_steps.rb

มาดูคำจำกัดความของขั้นตอนต่อไปนี้:

When I enter 'testeruser' into the 'Username' field Then /^I enter '([^']*)' into the '([^']*)' field$/ do |text_to_type, field_name| touch('textField marked: '#{field_name}'') wait_for_keyboard keyboard_enter_text text_to_type sleep(STEP_PAUSE) end

ตัวอย่างโค้ด Ruby ขนาดเล็กนี้ค้นหาฟิลด์เฉพาะแตะที่มันรอให้คีย์บอร์ดปรากฏพิมพ์ข้อความจากแท็ก text_to_type และรอสักครู่ก่อนที่จะเปลี่ยนไปยังขั้นตอนถัดไป

คำแรกของขั้นตอนอาจเป็น“ Given”“ When”“ Then”“ And” หรือ“ But” ไม่สำคัญว่าคุณจะใช้คำหลักใด คุณสามารถใช้สิ่งเหล่านี้เพื่อทำให้เรื่องราวชัดเจนขึ้น

วิธีเพิ่มขั้นตอนที่กำหนดเอง

หากคุณต้องการขั้นตอนที่ยังไม่ได้ใช้ในน้ำเต้าคุณสามารถเขียนได้ด้วยตัวเอง ไวยากรณ์เหมือนกับที่อยู่ในขั้นตอนที่กำหนดไว้แล้ว

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

Then /^I enter '([^']*)' into the field with placeholder '([^']*)'$/ do |text_to_type, placeholder| touch('textField placeholder:'#{placeholder}'') wait_for_keyboard() keyboard_enter_text text_to_type sleep(STEP_PAUSE) end

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

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

คุณสามารถค้นหาฟังก์ชัน Ruby ที่ใช้งานได้ที่นี่:

http://www.rubydoc.info/gems/calabash-cucumber/Calabash/Cucumber

Xamarin Test Cloud

มีอีกหนึ่งความท้าทายเมื่อทดสอบแอปพลิเคชันบนมือถือ คุณควรทดสอบกับอุปกรณ์ต่างๆให้มากที่สุดเนื่องจากมีอุปกรณ์จำนวนมากและระบบปฏิบัติการหลายเวอร์ชัน

ฉันจะทำอย่างไรกับโหนด js

นี่คือที่ Xamarin Test Cloud ช่วยได้มาก มีอุปกรณ์จริงประมาณ 2,000 เครื่องในระบบคลาวด์และข่าวดีก็คือรองรับการทดสอบน้ำเต้า

การทดสอบน้ำเต้าแบบเดียวกับที่ช่วยให้คุณประหยัดเวลาโดยการประหยัดเวลาในการทำงานซ้ำ ๆ สามารถใช้ทดสอบแอปพลิเคชันของคุณบนอุปกรณ์จริงได้หลายประเภท

เริ่มเขียนการทดสอบ UI

ไม่ว่าน้ำเต้าจะเป็นโซลูชันการทดสอบที่แอปของคุณต้องการหรือไม่ด้วยข้อดีที่นำมา แต่ก็ไม่มีที่ว่างให้แก้ตัวเมื่อต้องเขียนการทดสอบ UI อัตโนมัติสำหรับแอปบนอุปกรณ์เคลื่อนที่ของคุณ น้ำเต้าอาจขาดได้หากแอปของคุณต้องอาศัยคุณสมบัติบางอย่างของอุปกรณ์ (เช่นกล้อง) เป็นหลัก แต่ก็ยังทำให้การทดสอบการเขียนสำหรับแอปส่วนใหญ่ทำได้ง่ายขึ้นมาก

ทำความเข้าใจพื้นฐาน

การทดสอบการยอมรับคืออะไร?

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

แตงกวาคืออะไร?

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

ข้อ จำกัด ในการออกแบบไม่ใช่ข้อ จำกัด แต่เป็นการกระตุ้นความคิดสร้างสรรค์

การออกแบบ Ux

ข้อ จำกัด ในการออกแบบไม่ใช่ข้อ จำกัด แต่เป็นการกระตุ้นความคิดสร้างสรรค์
การออกแบบ UI ของทีวี: การทำงานกับ White Space

การออกแบบ UI ของทีวี: การทำงานกับ White Space

การออกแบบ Ui

โพสต์ยอดนิยม
Buggy CakePHP Code: 6 ข้อผิดพลาดที่พบบ่อยที่สุดนักพัฒนา CakePHP ทำ
Buggy CakePHP Code: 6 ข้อผิดพลาดที่พบบ่อยที่สุดนักพัฒนา CakePHP ทำ
รีวิว CakePHP 3 ของฉัน - ยังสดยังร้อน
รีวิว CakePHP 3 ของฉัน - ยังสดยังร้อน
ภาพรวมของตัวสร้างไซต์คงที่ยอดนิยม
ภาพรวมของตัวสร้างไซต์คงที่ยอดนิยม
นักพัฒนาชาวโบลิเวีย Yasett Acurana ได้รับทุนการศึกษา ApeeScape ครั้งที่หก
นักพัฒนาชาวโบลิเวีย Yasett Acurana ได้รับทุนการศึกษา ApeeScape ครั้งที่หก
การเขียนโปรแกรมจำนวนเต็มผสม: คู่มือสำหรับการตัดสินใจเชิงคำนวณ
การเขียนโปรแกรมจำนวนเต็มผสม: คู่มือสำหรับการตัดสินใจเชิงคำนวณ
 
แนวโน้มอีคอมเมิร์ซที่โดดเด่นและอิทธิพลต่อการออกแบบ (พร้อมอินโฟกราฟิก)
แนวโน้มอีคอมเมิร์ซที่โดดเด่นและอิทธิพลต่อการออกแบบ (พร้อมอินโฟกราฟิก)
การสำรวจเครื่องมือการทำแผนที่ออนไลน์ที่ดีที่สุดสำหรับนักพัฒนาเว็บ: Roadmap to Roadmaps
การสำรวจเครื่องมือการทำแผนที่ออนไลน์ที่ดีที่สุดสำหรับนักพัฒนาเว็บ: Roadmap to Roadmaps
GraphQL กับ REST - บทช่วยสอน GraphQL
GraphQL กับ REST - บทช่วยสอน GraphQL
ปรับปรุงการแปลงค่าเฉลี่ยเชิงปริมาณเฉลี่ยต่อเนื่อง
ปรับปรุงการแปลงค่าเฉลี่ยเชิงปริมาณเฉลี่ยต่อเนื่อง
ข้อมูลขนาดใหญ่: ใบสั่งยาสำหรับสภาพการวิจัยและพัฒนาเภสัชกรรม
ข้อมูลขนาดใหญ่: ใบสั่งยาสำหรับสภาพการวิจัยและพัฒนาเภสัชกรรม
โพสต์ยอดนิยม
  • หน่วยความจำรั่วใน java . ได้ไหม
  • เครื่องคำนวณเงินเดือนชั่วคราวเพื่อดัด
  • สำนักงานครอบครัวเพื่อการบริหารความมั่งคั่งคืออะไร
  • คำสั่งใน angularjs คืออะไร?
  • ทฤษฎีสีสำหรับนักออกแบบกราฟิก
  • หลักเกสตัลต์ของการรับรู้ทางสายตา
  • ตัวอย่างเชิงมุม 2 mvc 5
หมวดหมู่
  • กระบวนการและเครื่องมือ
  • การวางแผนและการพยากรณ์
  • การออกแบบ Ui
  • การจัดการโครงการ
  • © 2022 | สงวนลิขสิทธิ์

    portaldacalheta.pt