Device Farm — είναι μια υπηρεσία cloud που παρέχει απομακρυσμένη πρόσβαση σε εκατοντάδες πραγματικές κινητές συσκευές για αυτόματο και χειροκίνητο έλεγχο εφαρμογών. Οι προγραμματιστές ανεβάζουν APK ή IPA, επιλέγουν διαμορφώσεις συσκευών και εκτελούν δοκιμές παράλληλα χωρίς να αγοράζουν φυσικές συσκευές. Σύμφωνα με την αναφορά Perfecto, 2025, οι ομάδες που χρησιμοποιούν Device Farm μειώνουν τον χρόνο δοκιμών παλινδρόμησης κατά 73% σε σύγκριση με τις τοπικές φάρμες συσκευών.
Κύρια σημεία
Device Farm — είναι μια υποδομή για δοκιμές κινητών εφαρμογών που παρέχει απομακρυσμένη πρόσβαση σε φυσικές και εικονικές συσκευές μέσω διαδικτύου. Σε αντίθεση με την αγορά και συντήρηση του δικού σας εργαστηρίου συσκευών, οι προγραμματιστές νοικιάζουν χρόνο σε συσκευές άλλων και πληρώνουν μόνο για την πραγματική χρήση.
Η αγορά κινητών συσκευών περιλαμβάνει πάνω από 24 000 μοναδικά μοντέλα smartphone Android σύμφωνα με το OpenSignal, 2025. Η φυσική αγορά όλων των δημοφιλών μοντέλων για δοκιμές είναι αδύνατη — αυτό θα απαιτούσε εκατομμύρια δολάρια επενδύσεων και συνεχή ενημέρωση του στόλου. Το Device Farm λύνει αυτό το πρόβλημα παρέχοντας πρόσβαση σε τρέχουσες συσκευές μέσω συνδρομής.
Οι εξομοιωτές και οι προσομοιωτές καλύπτουν μόνο 60–70% των σεναρίων δοκιμών. Οι πραγματικές συσκευές είναι απαραίτητες για τον έλεγχο αισθητήρων, κάμερας, GPS, επιπέδου μπαταρίας, απόδοσης σε αδύναμο υλικό και συμπεριφοράς κατά τη διάρκεια εισερχόμενων κλήσεων. Το Device Farm συνδυάζει και τις δύο προσεγγίσεις: εξομοιωτές για γρήγορες δοκιμές smoke και φυσικές συσκευές για πλήρη επαλήθευση.
Το Device Farm είναι κατάλληλο για startups που κυκλοφορούν την πρώτη τους εφαρμογή, ώριμες ομάδες προϊόντων με τακτικές εκδόσεις και enterprise έργα με δεκάδες εφαρμογές. Η σκοπιμότητα χρήσης αυξάνεται με τον αριθμό των συσκευών-στόχων και τη συχνότητα εκδόσεων — όσες περισσότερες διαμορφώσεις πρέπει να ελεγχθούν, τόσο πιο επωφελές είναι το μοντέλο cloud.
Το τυπικό σενάριο εργασίας με το Device Farm περιλαμβάνει πέντε στάδια: μεταφόρτωση build, επιλογή συσκευών, διαμόρφωση δοκιμών, εκτέλεση, ανάλυση αποτελεσμάτων. Κάθε στάδιο αυτοματοποιείται μέσω API, επιτρέποντας την ενσωμάτωση του Device Farm στον αγωγό CI/CD χωρίς χειροκίνητη παρέμβαση.
Ο προγραμματιστής ανεβάζει το κατασκευασμένο αρχείο APK (Android), AAB ή IPA (iOS) στον αποθηκευτικό χώρο cloud του παρόχου. Ορισμένες υπηρεσίες, όπως το Firebase Test Lab, δέχονται επίσης απευθείας έργο Xcode ή Android Studio. Το μέγεθος αρχείου είναι περιορισμένο: το AWS Device Farm υποστηρίζει έως 200 MB, το BrowserStack — έως 500 MB.
Από τον κατάλογο συσκευών επιλέγονται τα μοντέλα-στόχοι και οι εκδόσεις OS. Οι σύγχρονες Device Farm υποστηρίζουν ομαδοποίηση: “όλες οι ναυαρχίδες 2024–2025” ή “οικονομικές συσκευές Android με Android 13–14”. Η παράλληλη εκτέλεση επιτρέπει την ταυτόχρονη εκτέλεση μιας δοκιμής σε 10–50 συσκευές, μειώνοντας τον συνολικό χρόνο σε λεπτά.
Οι δοκιμές εκτελούνται σε πραγματικές συσκευές στα κέντρα δεδομένων του παρόχου. Ο προγραμματιστής παρακολουθεί την πρόοδο μέσω κονσόλας web σε πραγματικό χρόνο: αρχεία καταγραφής, στιγμιότυπα οθόνης, εγγραφή βίντεο της δοκιμής. Σε περίπτωση αποτυχίας δοκιμής, το Device Farm τραβάει στιγμιότυπο οθόνης και συλλέγει αρχείο καταγραφής σφάλματος για διάγνωση.
// Παράδειγμα ρύθμισης Device Farm σε Jenkinsfile
pipeline {
agent any
stages {
stage('Build') {
steps {
sh './gradlew assembleDebug'
}
}
stage('Device Farm Tests') {
steps {
sh '''aws device-farm schedule-run
--project-arn arn:aws:devicefarm:us-west-2:123:project:1
--app-arn arn:aws:devicefarm:us-west-2:123:app:1
--device-pool-arn arn:aws:devicefarm:us-west-2:123:pool:1
--test-arn arn:aws:devicefarm:us-west-2:123:test:1'''
}
}
}
}
Οι σύγχρονες Device Farm παρέχουν όχι μόνο εκτέλεση δοκιμών, αλλά και βοηθητικά εργαλεία για διάγνωση, παρακολούθηση απόδοσης και ενσωμάτωση με άλλες υπηρεσίες ανάπτυξης. Το σύνολο λειτουργιών ποικίλλει μεταξύ παρόχων, αλλά ο πυρήνας παραμένει κοινός.
Υποστηρίζονται όλα τα κύρια πλαίσια: Espresso και UI Automator για Android, XCTest και XCUITest για iOS, Appium και Calabash για διαπλατφορμικά έργα. Το Device Farm εκτελεί δοκιμές χωρίς τροποποίηση κώδικα — αρκεί να καθορίσετε το πλαίσιο δοκιμών κατά τη διαμόρφωση.
Ο προγραμματιστής αποκτά απομακρυσμένη πρόσβαση σε μια πραγματική συσκευή μέσω προγράμματος περιήγησης: αγγίγματα, σύρσιμο, περιστροφή οθόνης, πάτημα κουμπιών — όλες οι ενέργειες μεταδίδονται σε πραγματικό χρόνο. Η διαδραστική λειτουργία είναι απαραίτητη για την αναπαραγωγή σπάνιων σφαλμάτων που δεν καλύπτονται από αυτόματες δοκιμές. Το AWS Device Farm παρέχει έως 60 λεπτά χειροκίνητης συνεδρίας χωρίς επιπλέον χρέωση.
Μετά από κάθε εκτέλεση, το Device Farm δημιουργεί μια αναφορά: εγγραφή βίντεο της δοκιμής, στιγμιότυπα οθόνης βήμα προς βήμα, αρχεία καταγραφής συσκευής (logcat για Android, syslog για iOS), δεδομένα απόδοσης (CPU, μνήμη, δίκτυο) και στοίβα σφάλματος. Αυτά τα δεδομένα βοηθούν στον εντοπισμό του προβλήματος χωρίς αναπαραγωγή στην τοπική συσκευή.
Όλοι οι μεγάλοι πάροχοι Device Farm προσφέρουν πρόσθετα για Jenkins, GitLab CI, GitHub Actions και CircleCI. Οι ειδοποιήσεις Webhook ενημερώνουν την ομάδα για τα αποτελέσματα δοκιμών στο Slack, Telegram ή email. Η διαμόρφωση ενσωμάτωσης CI/CD είναι συνήθης πρακτική για ομάδες που εφαρμόζουν συνεχή παράδοση.
| Λειτουργία | AWS Device Farm | BrowserStack | Firebase Test Lab |
|---|---|---|---|
| Φυσικές συσκευές | Ναι | Ναι | Ναι |
| Εξομοιωτές | Ναι | Ναι | Ναι |
| Χειροκίνητες δοκιμές | Ναι | Ναι | Όχι |
| Εντοπισμός σφαλμάτων | Βίντεο + αρχεία καταγραφής | Βίντεο + αρχεία καταγραφής | Μόνο αρχεία καταγραφής |
| Δωρεάν όριο | 1000 λεπτά/μήνα | 60 λεπτά δοκιμαστική περίοδος | Δοκιμές στο Firebase — δωρεάν |
Η αγορά Device Farm εκπροσωπείται από τρεις κύριες κατηγορίες: γενικούς παρόχους cloud (AWS), εξειδικευμένες υπηρεσίες δοκιμών (BrowserStack) και εργαλεία εντός του οικοσυστήματος πλατφόρμας (Firebase). Η επιλογή εξαρτάται από την τεχνολογική στοίβα και τον προϋπολογισμό της ομάδας.
Ενσωματωμένο με το οικοσύστημα Amazon Web Services. Οι προγραμματιστές που ήδη χρησιμοποιούν AWS για φιλοξενία και CI/CD αποκτούν ενιαία σύμβαση και απρόσκοπτη ενσωμάτωση με CodePipeline και CodeBuild. Το AWS Device Farm υποστηρίζει δοκιμές εφαρμογών Android, iOS και web σε φυσικές συσκευές και εξομοιωτές.
Ο μεγαλύτερος ανεξάρτητος πάροχος με στόλο άνω των 3 000 πραγματικών συσκευών. Το BrowserStack είναι γνωστό για τη βολική web διεπαφή του, την ταχύτητα παροχής συσκευής (10–15 δευτερόλεπτα) και την υποστήριξη Appium χωρίς περίπλοκη διαμόρφωση. Η υπηρεσία ενημερώνει αυτόματα τον στόλο συσκευών εντός μιας εβδομάδας από την κυκλοφορία ενός νέου μοντέλου.
Δωρεάν υπηρεσία από την Google για εφαρμογές Android με δυνατότητα δοκιμών iOS (περιορισμένη). Το Firebase Test Lab είναι ιδιαίτερα ελκυστικό για startups: τα βασικά σενάρια δοκιμών είναι διαθέσιμα χωρίς συνδρομή. Η ενσωμάτωση με Firebase Console και Crashlytics επιτρέπει τη σύνδεση αποτυχιών δοκιμών με πραγματικά σφάλματα στην παραγωγή.
Στην αγορά υπάρχουν Samsung Remote Test Lab (δωρεάν πρόσβαση σε συσκευές Samsung), Kobiton (προσανατολισμένο σε enterprise με ανάπτυξη on-premise), Perfecto (εξαγοράστηκε από Perforce, εστίαση στον χρηματοπιστωτικό τομέα) και Sauce Labs (μία από τις παλαιότερες υπηρεσίες, τώρα μέρος της Tricentis).
Ας εξετάσουμε την ενσωμάτωση του Firebase Test Lab με τη γραμμή εντολών για μια εφαρμογή Android. Το Firebase Test Lab εκτελεί δοκιμές μέσω gcloud CLI, επιτρέποντας την ενσωμάτωση της εκτέλεσης σε οποιονδήποτε αγωγό CI χωρίς πρόσθετα πρόσθετα. Το παράδειγμα δείχνει μια ελάχιστη διαμόρφωση δοκιμής smoke σε τρεις συσκευές.
# Εγκατάσταση gcloud CLI και εξουσιοδότηση
gcloud auth login
gcloud config set project my-android-app
# Φόρτωση APK στο Firebase Test Lab
gcloud firebase test android run \
--app app-debug.apk \
--test app-debug-test.apk \
--type instrumentation \
--device model=Pixel7,version=34 \
--device model=SamsungS23,version=33 \
--device model=OnePlus12,version=34 \
--timeout 30m \
--results-bucket gs://my-app-test-results
Η εντολή ανεβάζει δύο αρχεία: το ίδιο το build και το δοκιμαστικό APK με δοκιμές ενσωμάτωσης Espresso. Το Firebase Test Lab επιλέγει αυτόματα την πιο πρόσφατη διαθέσιμη έκδοση OS για κάθε μοντέλο, εάν η version δεν έχει καθοριστεί ρητά. Τα αποτελέσματα αποθηκεύονται στο Google Cloud Storage σε μορφή XML και HTML για προβολή στο πρόγραμμα περιήγησης.
Για αυτόματη εκτέλεση σε κάθε push, χρησιμοποιείται το GitHub Actions. Η ροή εργασίας δημιουργεί την εφαρμογή, εκτελεί το Firebase Test Lab και επιστρέφει την κατάσταση επαλήθευσης.
name: Android CI with Device Farm
on: [push]
jobs:
test-on-devices:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- run: ./gradlew assembleDebug assembleDebugAndroidTest
- uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_SA_KEY }}
- run: gcloud firebase test android run
--app app/build/outputs/apk/debug/app-debug.apk
--test app/build/outputs/apk/androidTest/debug/app-debug-test.apk
--device model=Pixel8,version=35
Το κόστος του Device Farm αποτελείται από διάφορες παραμέτρους: αριθμός παράλληλων συνεδριών, τύπος συσκευής (φυσική ή εξομοιωτής), διάρκεια δοκιμής και πρόσθετες λειτουργίες. Είναι σημαντικό να κατανοήσετε τη δομή κόστους πριν επιλέξετε πάροχο για να αποφύγετε απροσδόκητα έξοδα κατά την κλιμάκωση.
Οι περισσότεροι πάροχοι χρεώνουν βάσει του πραγματικού χρόνου χρήσης της συσκευής. Οι φυσικές συσκευές κοστίζουν 2–5 φορές περισσότερο από τους εξομοιωτές. Το AWS Device Farm προσφέρει 1000 δωρεάν λεπτά το μήνα για νέους λογαριασμούς, το BrowserStack — 60 λεπτά δοκιμαστική περίοδο. Το μέσο κόστος ενός λεπτού σε φυσική συσκευή Android είναι $0.05–0.17.
Για τακτικές δοκιμές, η σταθερή συνδρομή είναι πιο συμφέρουσα. Το BrowserStack προσφέρει πρόγραμμα Team για $299/μήνα για 3 χρήστες με απεριόριστα λεπτά σε φυσικές συσκευές. Το AWS Device Farm δεν έχει σταθερή συνδρομή — η πληρωμή γίνεται ανά λεπτό, το οποίο είναι βολικό για ακανόνιστο φόρτο, αλλά ακριβότερο για εντατική χρήση.
Κατά τον υπολογισμό του προϋπολογισμού, λάβετε υπόψη: αποθήκευση τεχνουργημάτων δοκιμών (βίντεο, στιγμιότυπα οθόνης, αρχεία καταγραφής) — το AWS Device Farm αποθηκεύει αποτελέσματα έως 90 ημέρες χωρίς επιπλέον χρέωση, το BrowserStack — έως 30 ημέρες; κυκλοφορία δικτύου κατά τη μεταφόρτωση μεγάλων APK/IPA; αριθμός παράλληλων συνεδριών — η αύξηση του παραλληλισμού μπορεί να απαιτεί ακριβότερο πρόγραμμα.
Συχνές Ερωτήσεις
Ο εξομοιωτής μιμείται τη συσκευή μέσω λογισμικού στον υπολογιστή σας, ενώ το Device Farm παρέχει πρόσβαση σε μια πραγματική φυσική συσκευή με αυθεντικό υλικολογισμικό, επεξεργαστή και αισθητήρες. Μόνο σε μια πραγματική συσκευή μπορείτε να ελέγξετε την κάμερα, το GPS, τη θερμοκρασία περιβλήματος και την αλληλεπίδραση με το δίκτυο του παρόχου.
Ναι, όλοι οι μεγάλοι πάροχοι υποστηρίζουν iOS. Για δοκιμές απαιτείται αρχείο IPA κατασκευασμένο με πιστοποιητικό ανάπτυξης. Το BrowserStack και το AWS Device Farm παρέχουν φυσικές συσκευές iPhone και iPad, το Firebase Test Lab υποστηρίζει iOS μέσω προσομοιωτών macOS στο κέντρο δεδομένων.
Το Jenkins ενσωματώνεται μέσω πρόσθετων (π.χ. AWS Device Farm Plugin) ή μέσω εντολών CLI που εκτελούνται στο στάδιο κατασκευής. Το πρόσθετο ανεβάζει αυτόματα τα τεχνουργήματα κατασκευής, εκτελεί δοκιμές σε επιλεγμένες συσκευές και επιστρέφει το αποτέλεσμα στον αγωγό Jenkins.
Για μια startup, το Firebase Test Lab είναι βέλτιστο — οι βασικές λειτουργίες είναι δωρεάν, η ενσωμάτωση με το Android Studio λειτουργεί αμέσως. Για έργα iOS, το BrowserStack προσφέρει 60 λεπτά δωρεάν δοκιμών. Καθώς η ομάδα μεγαλώνει, γίνεται μετάβαση σε πληρωμένες συνδρομές με πλήρη στόλο συσκευών.
Οι μεγάλοι πάροχοι συμμορφώνονται με πιστοποίηση SOC 2 και κρυπτογραφούν τα δεδομένα κατά τη μεταφορά και αποθήκευση. Το AWS Device Farm λειτουργεί εντός απομονωμένων λογαριασμών AWS, το BrowserStack χρησιμοποιεί συσκευές μιας χρήσης για κάθε συνεδρία. Τα ευαίσθητα δεδομένα (κλειδιά API) συνιστάται να τοποθετούνται στη διαμόρφωση κατασκευής.
Σύνοψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης