 Terima kasih, semua, untuk datang ke SvDigital. Terima kasih, pertama-tiga, terima kasih kerana menjelaskan kawasan. Dan untuk datang ke sini, tanda-tanda ini berhasil mencabar kawasan daripada test mobil awak. Jadi teman ini, seperti yang anda lihat, adalah tentang bekerja-bekerja dan krustmanship. Bercakap tentang krustmanship, ini adalah foto saya menjelaskan. Jadi, saya Kenneth. Di sini adalah profil saya, e-mail, github page, medium blog saya dan profil LinkedIn saya. Jadi, saya adalah pencapa-pencapa software di sini di SvDigital. Jadi, perniagaan perniagaan adalah perniagaan SvDigital. Jadi, kami adalah perniagaan energi. Kami adalah salah satu yang terbiasa fokus pada transmisi dan distribusi energi. Kita tidak benar-benar mengalami energi. Jadi, untuk saya, saya memulakan kawasan saya sebagai pencapa-pencapa jawa dan nanti ada peluang untuk bekerja di SvDigital selama 8 tahun. Jadi, keadaan saya untuk bekerja di SvDigital sekarang berfokus pada perniagaan SvDigital untuk perniagaan perniagaan SvDigital. Jadi, untuk saya, saya ingin membawa perniagaan perniagaan jawa software menjadi spesial SvDigital. Jadi, perkara seperti TDD, BDD. Saya juga pencapa-pencapa jawa di perniagaan SvDigital sehingga saya hanya berikan dua perkara. Jadi, perkara pertama, perkara pertama adalah menghadirkan perniagaan SvDigital. Jadi, apabila saya menunjukkan pada perniagaan SvDigital, bagaimana anda sebenarnya menggantikan kode menjadi perniagaan SvDigital dan menggantikan sesuatu. Jadi, itu sangat lucu. Saya menunjukkan bagaimana dengan perniagaan Pokémon, dengan perniagaan dan berjalan-jalan tanpa jalan fizikal. Jadi, perkara kedua yang saya berikan pada perniagaan adalah mengenai perniagaan. Jadi, motivasi untuk perkara ini seperti yang anda dengar dari Stanley. Jadi, sebenarnya, kami menghubungkan beberapa bulan untuk makan dan minum. Kami berdua sekarang mempunyai kerja baru. Jadi, Stanley sekarang di GavTec. Saya sekarang di sini. Saya hanya menghubungkan perniagaan SvDigital beberapa bulan. Jadi, pada malam, saya menghubungkan bagaimana saya menghubungkan masih melakukan perniagaan iOS dan mengenai perniagaan software. Dalam cara yang saya menghubungkan, saya menghubungkan beberapa konsep seperti perniagaan mobil dan BDD. Saya juga menghubungkan bagaimana saya menghubungkan bagaimana saya menghubungkan kerja yang sekarang saya menghubungkan perniagaan SvDigital. Jadi, Stanley beritahu saya kenapa tidak menghubungkan perniagaan SvDigital. Jadi, saya bersyukur. Saya sebenarnya menghubungkan peluang untuk menghubungkan semua perniagaan saya ke dalam perniagaan. Jadi, sehingga, saya dapat menghubungkan perniagaan untuk orang lain. Jadi, saya menghubungkan perniagaan ini. Sebenarnya, saya juga menghubungkan untuk menghubungkan perniagaan SvDigital dan perniagaan untuk perniagaan adalah perniagaan SvDigital yang sangat simpelah pada konsep saya akan beri nanti. Jadi, saya mengambil peluang untuk menguruskan beberapa kata-kata pada perniagaan ini tanpa mendengar ke dalam implematik yang beragam. Jadi, saya akan menikmati anda, bagaimana banyak bagaimanapun kita adalah penghantaran projek? Penghantaran projek? Penghantaran projek? Apa tentang penghantaran? Berapa penghantaran penghantaran? 1, 2, 3, 4, 5. QA? 1, 2. Okey, bagus. So, so, so, so, so, the topic of this talk is pretty catchy but I just want to set the context here. This talk will be focusing on the perspective of a mobile app developer and I will be sharing my journey in the mobile app development space and some of the things I observed in mobile testing. So, we have a very simple agenda. So, I'll start off talking about mobile end-to-end test, the current state and some of the issues I've seen. And then after that, I'll introduce two types of integration test that you can probably bring back to your workplace. And then, along the way, I'll showcase some demo. I'll also introduce BDD how you can write some of these test in the BDD format. So, for the mobile development scene, Apple and Google launched their app stores 2008 and then mobile development exploded. Mobile testing has always been a top priority. At bare minimum, companies are actually recruiting people to perform manual testing for the apps. Mobile test framework has also caught up. Here are some of the popular ones. For Android, there is an Expresso and Robotium. For iOS, the de facto iOS Automation 2 will be native. Automation 2 is on Xcode and for cross-platform, we have Calabash and also APM, which is widely popular. Okay, now on to mobile end-to-end test. So, this is the process of to assert that the mobile app client is properly performing in a particular environment. So, in the whole process of building, to run the whole mobile test suite, firstly, you have to build the app and if you're building the app to test against a particular environment, you have to of course configure the app properly. And then you start to create your artifacts which is your APK for Android and your IPA files for iOS apps. And then from then on, you can actually do some automation test on actual device. So, you need to install those artifacts onto the device itself. Or you can actually use some of the emulators like for Xcode simulators as well as for the Android development studio. Of course, it's not just about building mobile apps. We will also need to build and deploy our mobile app dependencies like your backend servers, your API gateways, microservices if needed, as well as your databases. And all this becomes more complicated because the app consumes services from a particular environment and of course expecting a certain state. So, we also need to ensure that our environment states or we set it properly. And running the test suite takes a very long time. So, firstly you have to build, you have to deploy. You have to do that for the same thing for your backend services. And even the running of the test suite takes a long time. Many of the test is going to be hard to actually run it concurrently. You have to set up, setelah memandu perjalanan ke dalam perjalanan di mana saya menggunakan mobile test suite untuk mencari banyak perjalanan. Jadi, percayaan untuk perjalanan ke dalam perjalanan adalah untuk membuat perjalanan ini yang kurang stabil dan bergantung. Untuk perjalanan, dalam banyak perjalanan, perjalanan yang berseparah adalah lebih tinggi untuk memperkenalkan perjalanan ke dalam perjalanan. Untuk perjalanan ke dalam perjalanan, terutamanya memperkenalkan perjalanan ke dalam perjalanan unik dan memperkenalkan perjalanan. Jadi, menunjukkan perjalanan ke dalam perjalanan adalah sangat penting. Dalam masa yang sama, sangat percaya. Sebab, apabila anda mempunyai perjalanan ke dalam perjalanan, kita mempunyai lebih banyak perjalanan daripada perjalanan ke dalam perjalanan. Kita akan bekerja dengan baik. Tapi dengan itu, ada peluang-peluangan yang banyak daripada anda. Ia tidak perlu menjadi untuk mobil, tetapi anda tahu bahawa perjalanan ke dalam perjalanan sangat seronok. Jadi, perjalanan mobil mempunyai banyak perjalanan ke dalam perjalanan ke dalam perjalanan. Untuk contoh, jika kita mempunyai perjalanan yang bercakap dengan perjalanan yang memperkenalkan perjalanan ke dalam perjalanan, anda bermakna kita harus memastikan apa yang saya katakan. Jika ada peluang-peluangan yang banyak pembunuh mobil itu adalah menggunakan perjalanan di klub atau di perjalanan, dan kami harus pastikan jika ada peluang-peluangan ini. Terus menginitkan perjalanan api kita, kita perlu pastikan Pada masa yang sama, kita perlu pastikan bahawa bahawa bahawa bahasa bahasa atau keadaan adalah dalam keadaan yang penting untuk kita sebenarnya memulahkan. Jika kita ingin memastikan keadaan login seperti John Doe login dengan pasal ini kita perlu pastikan bahawa bahasa bahasa dan keadaan ini mempunyai keadaan keadaan yang ditutupkan di mana-mana dan siap untuk digunakan. Dan dengan itu, kita tidak boleh benar-benar memastikan keadaan kita. Mereka banyak masa daripada keadaan yang ditutupkan. Dan keadaan ini mempunyai keadaan yang ditutupkan di mana-mana oleh beberapa klien atau bahagian belakang klien-klien sebenarnya bercakap dengan keadaan yang sama. Jadi, ada banyak keadaan yang ditutupkan. Dan kita tidak boleh memulahkan keadaan yang ditutupkan. Dan apabila kita perlu memulahkan keadaan atau keadaan yang ditutupkan, kita perlu sebenarnya mengubahkan banyak komponen individu yang mengubahkan keadaan. Jadi, tentu saja, ada banyak keadaan yang ditutupkan. Bukan hanya untuk membangun masa dan juga untuk memulahkan masa yang ditutupkan. Dan kemudian, terdapat keadaan yang ditutupkan, kadang-kadang kita tidak boleh memulahkan beberapa test. Adalah, jika kita memperbaiki pembentangan ketiga yang tidak memiliki keadaan dan memperbaiki keadaan yang ditutupkan, kita dapat memulahkan test dan memulahkan keadaan yang ditutupkan untuk menggunakan pembentangan, tetapi kita tidak dapat memulahkan lagi kerana keadaan itu akan berkata, hey, seorang ini sudah memulahkan keadaan yang ditutupkan. Jadi, tentu saja, test n2n ini mempunyai semua keadaan yang ditutupkan. Pada masa yang sama, saya menerima bahawa banyak test n2n yang ditutupkan keadaan yang ditutupkan selepas keadaan yang ditutupkan. Jadi, itu bermakna kode mempunyai, siapa tahu ada keadaan yang ditutupkan dan kita hanya dapat memulahkan keadaan yang ditutupkan dalam pembentangan. Jadi, ini adalah beberapa keadaan yang saya melihat, terutamanya kerja dan ini adalah pilihan kita, pembentangan test. Jadi, dalam pembentangan test ini, kita ada banyak keadaan yang ditutupkan adalah test n2n, pembentangan n2n dan keadaan yang ditutupkan adalah pembentangan unit. Jadi, pembentangan unit menggunakan lebih cepat daripada pembentangan dan pembentangan n2n. Dan itu sebabnya kita mahu mempunyai keadaan yang ditutupkan di sini. Dan semasa kita mempunyai pembentangan, kita akan mempunyai lebih kurang dan kurang test. Semoga pembentangan unit yang ditutupkan akan membantukan yang kita ada pada n2n. Jadi, dalam pembentangan tersebut, pembentangan mobil kita hanya akan membantukan unit yang ditutupkan untuk kode n2n. Di keadaan yang rendah. Kemudian kita ada sebuah pembentangan yang ditutupkan untuk n2n untuk pembentangan mobil. Jadi, saya ingin berkongsi sesuatu dengan anda yang saya ada dalam pembentangan tersebut, pembentangan pembentangan. Jadi, sebuah hari atau pagi, pembentangan n2n akan membantukan untuk saya. Hei, kita mempunyai 6 jam untuk menggunakan suatu test mobil. Ada sesuatu yang berlaku. Bolehkah anda cuba memutuskan? Sebenarnya, saya adalah seorang pembentangan tersebut. Ia tidak boleh menjadi salah saya. Jadi, saya cuba memperkenalkan dan memperkenalkan sesuatu. Sebenarnya, ia adalah pembentangan api. Jadi, salah satu pembentangan api mempunyai pembentangan yang sebenarnya memperkenalkan pembentangan mobil. Jadi, dengan itu, saya kembali ke pembentangan tersebut dan beritahu saya, sebuah pembentangan tersebut, sebuah pembentangan tersebut. Hei, saya tidak menunggu pembentangan tersebut untuk memperkenalkan aplikasi anda. Atau saya rasa saya tidak perlu beritahu anda. Saya tidak perlu beritahu anda. Jadi, itu adalah pengalaman yang saya ada. Jadi, itu adalah pembentangan api. Jadi, pada masa yang lain, itu adalah pembentangan n2n. Jadi, ini adalah pembentangan api di aplikasi pembentangan api. Kita pergi ke pembentangan pembentangan dan kita memilih beberapa pembentangan untuk pembentangan pembentangan seperti Hdb kondor, periuk periuk periuk periuk. Dan di pembentangan pembentangan, kita menunggu beberapa pembentangan. Jadi, kemudian, kita menghubungi pembentangan dan pembentangan ini salah. Jadi, tentu saja, mempelajari sebuah pembentangan tersebut ialah pembentangan pembentangan. Ia tidak boleh menjadi saya. Jadi, saya menghubungi pembentangan pembentangan. Hei, saya rasa kamu semua menghubungi pembentangan kami. Tapi tidak kali ini. Kami tidak menghubungi pembentangan untuk selama 4 bulan. Jadi, saya menghubungi apa yang saya perlu lakukan adalah membuat pembentangan saya menghubungi pembentangan dan tentu saja, semua pembentangan ini akan dihubungi supaya saya dapat menghubungi pembentangan. Kemudian, saya sedar saya sebenarnya mempunyai pembentangan di aplikasi. Jadi, apa yang berlaku adalah menggunakan pembentangan dan ada beberapa perjalanan yang mempunyai pembentangan. Dan itu adalah pembentangan yang dipercayai sehingga kita menghubungi pembentangan untuk menghubungi pembentangan kita sebenarnya menghubungi pembentangan yang tidak benar. Dan itu menghubungi pembentangan yang tidak benar. Jadi saya berfikir, pembentangan mobil kita telah menghubungi banyak pembentangan pada pembentangan unik. Baguslah, pembentangan QA telah mempunyai banyak pembentangan pembentangan. Tetapi untuk kita mempercayai pembentangan, 6 jam adalah sebenarnya banyak perjalanan dan masa yang telah dilatihkan. Jadi bagaimana kita dapat mengubahnya? Jadi saya bercakap tentangnya dan kemudian saya datang keputusan saya, kita menghubungi beberapa perjalanan pembentangan di tengah-tengah. Jadi apa pembentangan pembentangan ini? Pada perjalanan pembentangan pertama yang kita menghubungi adalah perjalanan kontrak. Perjalanan kontrak adalah bagaimana pembentangan pembentangan akan menghubungi bersama-sama. Jadi apa yang kita nak buat adalah kita mahu menghubungi semua perjalanan ini. Jadi jika ada apa-apa yang berubah, kita akan dapat menghubungi mereka sebelum membuat pembentangan. Jadi itu pembentangan pertama. Pada perjalanan kedua, ia akan adalah pembentangan pembentangan. Setidaknya, perjalanan yang stabil semuanya betul, kita sebenarnya membuat beberapa perjalanan untuk memastikan pada perjalanan pembentangan semuanya berlaku seperti yang kita inginkan. Jadi itu adalah perjalanan pembentangan. Jadi perjalanan kontrak mobil. Jadi kita mempunyai perjalanan pembentangan dan perjalanan. Jadi apa yang kita nak buat adalah jika kita mahu untuk menggunakan pembentangan, kita mahu mengambil perjalanan terutamanya api yang kita menggunakan. Kita sebenarnya mengubah dengan baik-baik. Jadi kita dapat sebenarnya menggunakan bagaimana kita akan mempunyai pembentangan dalam perjalanan pembentangan dan mengambil kepada api. Dan tentu saja, apa yang kita mahu menunggu, kita mahu menunggu perjalanan yang baik, kita tidak akan menunggu perjalanan pembentangan pada minima. Pada masa yang sama, kita juga menunggu bahawa jawapan yang kita dapat mempunyai perjalanan pembentangan pada minima. Jika tidak, perjalanan pembentangan akan berlainan. Dan sejak kita hanya memenangkan perjalanan, kita tidak perlu memperkenalkan pembentangan. Jadi apa yang kita cuba buat adalah, setelah menggunakan pembentangan pembentangan, kita cuba simulat pembentangan, semua pembentangan URL dan memperkenalkan mereka dalam pembentangan secara secara secara secara secara secara. Jadi kita memperkenalkan pembentangan, kita menunggu pembentangan, bukan hanya pembentangan, tapi juga pembentangan yang particular. Jadi pembentangan itu adalah menggantikan apa yang pembentangan pembentangan memperkenalkan. Jadi, kita tidak hanya cuba mencari perjalanan setiap pembentangan pada pembentangan, hanya pembentangan yang menggunakan pembentangan tergantung oleh pembentangan mobile. Jadi dengan itu, kita tidak boleh mempunyai Because they don't know exactly what API calls were firing because to them, the mobile test was based on testing in the Black Box So they may not be so aware of what are the little web sockets or requests that the mobile apps are firing over to the server The backend team wont be able to write this They actually are not the ones to produce the web services Mereka dapat membuatkan mungkin 100 alat Tapi mungkin hanya setiap setiap adalah yang memakai mobil Dan mobil pembelajaran mahu menyebabkan keperluan ini Dan tentu saja, dengan kebebasan kelebihan Ia sebenarnya cukup cepat dan jatuh Jadi saya sendiri, saya suka mencari percayaan keperluan berbeza Di BDD-style, di mana ia digunakan dan menangis Jadi, terdapat banyak pembentangan api yang mempunyai pembentangan. Jadi, ini adalah yang saya memilih. Ia adalah pembentangan Jem yang dipanggil Cucumber API. Jadi, ini telah dibuat oleh perempuan saya di Property Guru. Jadi, kami bermula menunggu. Kami bermulain dengan ini kerana kami memulainya. Kami membuat perbaiki yang diperbaiki oleh Kod Calabash. Kita memperbaiki keadaan kembali kepada kami. Kami mengambil konsep dan kita dapat mengambil perbaiki. Kami mengambil perbaiki dengan itu. Jadi, apa yang anda lihat di sini adalah... ini adalah perbaiki. Bagi... Tidak ada yang diberi di sini, tapi... ada perbaiki semasa dan kemudian... apabila kami membuangkan keadaan ke dalam serva... dan kemudian kami berharap untuk menjadi 200. Jika perlu, kami sebenarnya mengawal konten perbaiki... untuk contoh. Ah, esyulah... menambah perbaiki... saya rasa leaves... berkuali.. dan mengambil perbaiki yang pertama dalam pembentangan. Kemudian menambah perbaiki yang lain untuk mendapatkan.. perbaiki spesialan reka. Dan kemudian, kami teruskan... kemudian memasukkan status 200 dan struktur jason jadi biar saya tunjukkan apa yang saya telah lakukannya jadi apa yang telah saya lakukannya adalah saya cuba menjadi sedikit terlalu kecil jadi saya pergi online untuk mencari projek IOS sangat mudah projek IOS dan saya cuba mempunyai test kontrak ini jadi biar saya menunjukkan apa app ini tentang jadi ini adalah aplikasi yang sangat mudah seperti yang anda lihat mungkin saya mencari ini jadi seperti yang anda lihat ini adalah aplikasi yang sangat mudah yang memasukkan aplikasi di sini dan ada 4 aplikasi jadi aplikasi yang digunakan sebagai aplikasi ada 4 aplikasi di sini ini adalah populer jadi ini adalah aplikasi aplikasi berhubung dan sekarang bermain jadi sekarang bermain jadi mari kita katakan saya ingin menonton saya menikmati aplikasi ini disebut Bohemian Website jadi apabila saya melakukannya saya datang ke aplikasi ini dan ini adalah apa yang saya lihat jadi ini adalah aplikasi yang digunakan untuk aplikasi ini untuk pertanyaan hari jadi aplikasi ini pasti akan menyebabkan aplikasi saya rasa ia adalah aplikasi yang menggunakan data-base jadi tentu-tentu apabila berhubung atau aplikasi yang berubung kita tidak akan dapat melihat segalanya pada aplikasi jadi mari kita mempunyai test kontrak jadi saya menulis jadi ini telah ditetap di Cucamba jadi di tempat rumah seperti apa yang saya telah menunjukkan jadi apabila saya menunjukkan tawaran ke aplikasi ini dan saya menggunakan parameter query ini aplikasi ini dan aplikasi ini dan kemudian saya ingin pastikan tawaran kelebihan data-code 200 dengan minimal dan tentu-tentu saya ingin pastikan kontrak ini tawaran ke aplikasi ini jadi aplikasi ini adalah film.json jadi aplikasi ini adalah aplikasi aplikasi di sini jadi saya perlu pastikan ada aplikasi ini ada aplikasi yang berhubung ada aplikasi yang berhasil ada aplikasi yang berhubung dan ini adalah skima untuk tempat ini dan tentu-tentu di minimal ini adalah pilihan yang mesti di aplikasi ini jadi ada satu panggilan untuk film populer dan lain api panggilan lain untuk panggilan yang berhubung berdua berkongsi yang sama skima json jadi untuk film detail saya buat perkara yang sama jadi apa yang saya buat sekarang adalah buat perkara yang sama saya panggilan populer saya pastikan status itu adalah 200 dan dalam konten saya akan sebenarnya mengintirkan json untuk keadaan tawaran untuk perkara pertama saya akan mencuba panggilan kei dan saya mengusahkan panggilan yang berhubung dan saya buat panggilan yang berhubung dan panggilan ini saya menggantikan panggilan yang saya memasukkan di sini ke dalam jalan ini api dan tentu saya menggantikan panggilan yang berhubung keadaan ini ke dalam parameter panggilan dan setelah itu saya buat perkara yang sama saya menggantikan panggilan yang berhubung dan saya ingin memastikan panggilan yang berhubung dan menggantikan skima json di sini jadi ini adalah 2 perkara yang berhubung dan tentu saya saya membuat panggilan yang terakhir jadi apa yang berlaku adalah saya juga ingin memperkenalkan seperti memperkenalkan panggilan api tetapi untuk projek ini semua terdapat jadi apa yang saya lakukan adalah mempunyai tanda-tanda apabila saya klik dan mempunyai panggilan tidak ada ui yang berubah di sisi jadi untuk panggilan ini hanya mempunyai panggilan untuk api ini dan ini bagaimana saya menerima panggilan dengan panggilan dengan api dan tanpa memperkenalkan panggilan saya juga boleh memperkenalkan panggilan untuk memperkenalkan panggilan ID ada panggilan 101 panggilan dengan api jadi mari kita lihat panggilan ini atau kamu mahu ambil gambar? okey jadi sekarang saya memperkenalkan panggilan ini jadi saya telah memperkenalkan panggilan dan hanya mengambil saya 4 saat jadi saya rasa yang sebelumnya ia mengambil kita sekitar 5 menit 5 menit untuk memperkenalkan semua panggilan dan kita hanya jadi untuk kes ini dengan hanya 4 saat saya telah memperkenalkan panggilan itu adalah semua panggilan semua dan sudah bersedia jadi saya sebenarnya saya dapat beritahu ke-A jika saya ada ke-A saya boleh beritahu ke-A kamu boleh sekarang memperkenalkan panggilan jika ini berat tidak akan berbual sebab sesuatu yang berlaku kamu boleh memperkenalkan ini ke-CI jadi ada soalan soalan tidak ada soalan okey jadi saya teruskan okey jadi itu panggilan untuk test api jadi apa yang saya telah buat di perniagaan saya iya, perkenalkan panggilan kamu ingin memperkenalkan panggilan adik akan menggunakan ini akan memperkenalkan panggilan ini dengan cara ini dan saya akan menghubungi api dan bagaimana keputusan yang saya harapkan untuk menerima maaf kamu ingin memperkenalkan panggilan? jadi saya adalah penipu seperti BDD jadi saya ingin memperkenalkan ini jadi saya akan kembali ke BDD lepas itu jadi saya memperkenalkan ini dan kemudian lelaki mereka sebenarnya datang ke saya memberi saya kelihatan ini dan siapa mereka? mereka adalah panggilan api jadi mereka minta Kenneth apa yang kamu lakukan? kenapa kamu menerima menggunakan panggilan? saya sudah menerima panggilan tentangnya semuanya sedap kenapa kamu masih perlu menggunakan panggilan? kenapa kamu memperkenalkan panggilan saya? saya tidak menghubungi kepada kamu kami tidak mempunyai panggilan yang sama tapi kami sudah menerima panggilan jadi ini adalah sesuatu yang saya menerima ketika saya memulai panggilan mobil jadi mari saya mulakan dari awal saya mengalami banyak kali apabila ada panggilan pada panggilan panggilan dan panggilan ada panggilan pada panggilan kami cuba menerima panggilan kemudian kami memperkenalkan seseorang sebenarnya mengubah panggilan dan itu menyebabkan panggilan pada panggilan atau panggilan panggilan tidak berlaku dengan baik jadi ok kami membuat panggilan sekarang kami membuat panggilan dan kemudian kami menerima panggilan dan kemudian ia berlaku lagi dan lagi jadi kadang-kadang kami tidak memperkenalkan panggilan kadang-kadang orang tidak memperkenalkan ia akan memperkenalkan kami kerana kami adalah panggilan dan kami tidak pernah beritahu orang bahawa kami menggunakan panggilan api mereka tidak memperkenalkan kami untuk menggunakan panggilan jadi jadi saya sedar dengan ok, mari kita memulai beberapa panggilan saya dengar beberapa kisah apabila orang bercakap tentang panggilan apabila panggilan berkaitan apabila panggilan berkaitan jadi mari kita memulai panggilan jadi kami memulai hanya sebuah panggilan dan kami sebenarnya kami memperkenalkan mereka pada laptop kami jadi apabila apabila kami mahu pergi ke produsional kami hanya memulai panggilan, ok, bagus tetapi kemudian, perkara tetap memperkenalkan kerana orang berubah selepas kami memulai panggilan ke produsional jadi tidak apalah jadi mari saya memulai panggilan ke produsional kerana saya memulai panggilan yang sama dan apabila orang memiliki pilihan untuk memulai panggilan ke produsional dan mengambil panggilan dan dan orang hanya memulai bahawa apabila saya rasa ada satu atau dua panggilan besar dan panggilan mobil apabila seseorang menangis dan sepanjang malam semua orang memuat sebelum itu semua orang beri saya panggilan ini dan sekarang semua orang memuat jadi, mari kita sebenarnya saya datang ia adalah salah satu perkara jadi panggilan mobil memuat panggilan mobil apa yang mereka lakukan, mereka hanya memulai periuk jika tidak memuat, tidak akan memuat jadi mereka hanya memuat panggilan mobil hanya apabila ia memuat jadi untuk panggilan mobil memuat dengan panggilan kembali kita mula menggunakan ini untuk memulai panggilan jadi, kami akan memulai panggilan baru, kami akan memulai panggilan kepadamu tanpa menunggu kita tidak tahu bila mereka akan bersedia jadi, apa yang kita lakukan, kita memulai panggilan kepadamu setiap pagi, setiap pagi setiap, setiap, setiap ketika anda melihat panggilan, semua orang beruang kerana kita boleh mula memulai panggilan dengan mereka jadi, kita boleh menggunakan panggilan mobil untuk memulai panggilan awal ke dalam panggilan kembali tentu saya mengatakan kita boleh sebenarnya membuat kerja COI semasa kita boleh memulai panggilan ke dalam panggilan, walaupun dalam panggilan jika anda mahu memulai panggilan jadi, saya datang ke panggilan anda segera kerana panggilan ini sangat semua orang menikmati dan anda mahu memulai panggilan seseorang sebenarnya berharap kenapa tidak, selepas panggilan kepadamu diperlukan kita hanya memulai panggilan kepadamu untuk memulai panggilan ini jadi sekarang, setiap panggilan setiap panggilan dan panggilan untuk memulai panggilan dan memulai dan selepas memulai panggilan COI ini akan diperlukan dan anda dapat menggunakan jadi, tanpa cuba datang ke kita dan beritahu saya akan memulai panggilan anda hanya memulai panggilan tentu anda boleh selalu memulai panggilan untuk memulai panggilan ini untuk memulai panggilan anda memulai panggilan COI dan memulai panggilan ini dan setidaknya, kita dapat memberikan feedback semasa seseorang memulai sesuatu yang tidak memperkenalkan apa yang digunakan kita mempunyai panggilan yang menunjukkan alam sebab semuanya telah ditutupkan semua yang perlu dibuat jadi, datang ke panggilan ketiga mereka boleh memulai panggilan yang dikatakan dalam panggilan yang penting dan anda memulai panggilan ini anda tidak perlu memulai panggilan anda boleh memulai panggilan ini tidak sebab panggilan kontrak adalah apa yang mobil pembinaan memulai panggilan untuk memasukkan panggilan yang digunakan jadi, panggilan kembali anda perlu berhati mereka tidak akan memahami panggilan yang kita menyebut walaupun jika kita menyebut panggilan yang dikatakan mereka tidak akan memahami panggilan yang sangat penting kepada panggilan panggilan jadi, dengan itu panggilan kontrak memperkenalkan lebih cepat jadi, kita memperkenalkan setiap panggilan dan ini sebenarnya panggilan yang paling penting adalah panggilan terakhir atau walaupun jika panggilan baru anda tidak memperkenalkan saya rasa personalnya ini adalah panggilan terakhir anda boleh memulai panggilan yang mana-mana anda tidak perlu memulai panggilan anda tidak perlu memulai anda boleh memulai panggilan yang mudah dan ini akan memberikan anda cepat dengan semua perkara apabila anda perlu memulai panggilan tetapi anda perlu memulai panggilan yang ada anda perlu tahu bagaimana memulai tetapi ini sebenarnya sangat mudah untuk memulai panggilan jadi, saya menyebabkan orang panggilan jika anda tidak mempunyai panggilan jika anda tidak mempunyai panggilan mereka mungkin memulai panggilan yang baru mereka mungkin mempunyai panggilan baru mereka mungkin memperkenalkan setiap panggilan anda tidak mungkin memperkenalkan atau anda mungkin memulai panggilan jadi mempunyai panggilan ini akan menjelaskan anda jauh lebih awal dalam panggilan perubahan dan apabila panggilan bergerak apabila panggilan bergerak anda mempunyai panggilan jadi di sini ada orang memperkenalkan panggilan saya di sini di S.P. Digital seorang TV di sini menunjukkan panggilan jadi tidak hanya mempunyai panggilan jadi saya sebenarnya bercakap dengan beberapa panggilan yang kita perlu memperkenalkan apabila panggilan bergerak semua orang perlu berhenti kerja dan memperkenalkan dengan ASAP apabila seseorang memperkenalkan panggilan semuanya bergerak jadi ini sebenarnya panggilan dalam panggilan yang panggilan serius ada juga panggilan yang tidak bergerak panggilan jadi panggilan serius untuk menggunakan panggilan pada kerja jadi tidak ada orang yang benar-benar mengenai panggilan jadi panggilan untuk ini adalah panggilan seperti kawan saya jadi mari kita katakan apabila anda lebih mudah panggilan anda beritahu anda saya rasa anda patut membeli panggilan seperti panggilan apabila saya bermain panggilan saya pergi ke gym tiada apa-apa yang akan berlaku pada saya ketika sesuatu yang berlaku pada anda anda akan berterima kasih panggilan anda untuk beri anda kejayaan panggilan anda pasti membeli panggilan untuk anda jadi panggilan itu adalah sesuatu seperti ini tiada siapa yang akan memperkenalkan panggilan anda dan dan untuk kita panggilan lebih penting untuk cuba membuat cuba membuat panggilan untuk memastikan memperkenalkan panggilan itu mudah supaya tidak ada panggilan lagi untuk orang menerima panggilan jadi itu untuk panggilan mobil jadi untuk panggilan panggilan menurut saya apabila panggilan itu berlaku dengan baik dengan baik jadi apabila panggilan panggilan kita membeli panggilan ini kita mahu memperkenalkan bahawa panggilan itu memperkenalkan seperti yang dikejapkan jadi untuk panggilan panggilan kita sebenarnya cuba membeli panggilan yang lain okey jadi sebab panggilan mobil mempunyai panggilan seperti panggilan memperkenalkan dengan baik semuanya okey boleh kita memperkenalkan bahawa untuk panggilan panggilan yang berlaku untuk memperkenalkan dengan baik jadi jadi dengan membuat ini kita cuba membuat perangai untuk panggilan mobil panggilan itu memperkenalkan diri untuk perangai secara luar jadi satu cara untuk memperkenalkan panggilan mobil panggilan keputusan adalah memperkenalkan panggilan anda boleh ada banyak staks yang tidak ada anda boleh membuat membuat panggilan panggilan dan sepatutnya untuk panggilan mobil jadi kenapa tidak sepatutnya anda juga mahu menerima panggilan panggilan untuk setiap keses tentu untuk panggilan mobil anda mahu menggunakan panggilan mobil panggilan mobil anda mahu pastikan anda mahu atau memulai servis tempat tempat tempat tempat, ia semua di dalam keselamatan. Dengan begitu, anda dapat sebenarnya, untuk keselamatan setiap, anda dapat sebenarnya menghentikan servis tempat tempat dengan responsa yang menunggu. Menurut keselamatan anda. Jadi, nanti saya akan datang ke sana. Jadi, sebuah idea adalah, kami ingin mempunyai, ingin membuat test ini seperti test yang mengejut dan mengejut. Dan dengan membuat begitu, kami mempunyai total kontrol keadaan itu. Kerana kami dapat menjelaskan responsa yang kami mahu. Okey, tentu saja, ya. Baiklah. Jadi, itu adalah satu cara test. Tetapi dengan melakukan itu, anda sebenarnya mengubah internasinya bagaimana perjalanan itu. Sebenarnya, ada perjalanan yang particular di kota anda yang tidak dapat mengejut. Ya, unit test, ya. Jadi, itu adalah satu cara. Tetapi untuk kes ini, apa yang kami mahu lakukan adalah untuk mobil aplikasi ini, apa yang kita selalu mempunyai untuk software, apa yang kita ada adalah file konfigurasi yang akan beritahu kita mana servisnya, mana perjalanan yang anda mahu menggunakan. Jadi, apa yang kami mahu lakukan adalah sebenarnya mempunyai file konfigurasi yang lain. Dan kemudian kami menggunakan file konfigurasi yang lain ke dalam pilihan. Tetapi kami tidak memubah pilihan pilihan. Ya, tapi dalam perjalanan sebenarnya, aplikasi itu... sebab itu sebenarnya, mungkin anda menggunakan alih, sebenarnya mempunyai. Ia tidak menggantikan koneksi TCP. Ya, itu tidak menggantikan koneksi. Ya, betul. Jadi, dalam kes ini, kami mahu pastikan bahawa dalam perjalanan ini juga menggunakan koneksi TCP. Tetapi kami tidak menggantikan kami tidak menggantikan banyak tentang mana alihnya. Apabila kami melihat alihnya, kami hanya menggantikan apabila alihnya, apabila kami melihat alihnya, ia beri kita alih. Jadi, ini sebenarnya dua alih yang berbeda. Mungkin kami boleh bercakap lagi nanti. Jadi, mungkin... Saya hanya menarik. Ini adalah pertanyaan. Okey. Mereka berdua sebenarnya sangat berguna. Satu alih adalah alih dan satu adalah alih. Ya. Jadi alih alih berguna. Mereka tetap di sini, tetapi kemudian, bagaimana mereka melakukannya? Okey, jadi... Jadi, apa? Baiklah. Jadi, saya boleh memikirkan satu alih yang anda ada kerana anda tidak benar-benar membutuhkan alih. Jadi, anda boleh sebenarnya memulai segala-galanya yang berguna. Bagaimana anda betul? Bagaimana anda boleh memulai segala-galanya yang berguna? Jadi, bagaimanapun, kami perlu memulai alih. Jadi, jika kami memulai alih di mana-mana, dengan satu alih yang berguna, walaupun dengan... kami boleh memulai alih kita mungkin tidak dapat memulai alih yang berguna. Ya. Saya tahu kerana, apabila kami memulai alih yang berguna, kami menunggu sebuah alih yang berguna. Dan untuk alih yang berguna, jika kami... jika kami memulai alih yang berguna sekarang, kami akan memulai alih yang sama. Satu alih yang berguna mungkin berlaku, dan kemudian saya akan gagal. Jadi, tentu kita perlu memulai alih yang berguna kepada sebuah host di luar. Dan juga, sebuah port yang penting, dan sebabnya, kamu mungkin perlu memulai alih yang berguna, yang di dalam kes ini, kamu mungkin tidak perlu memulai alih kerana tidak memulai alih alih CTP, CTP layar. Dan tentu, kesan test mungkin perlu di-manuskan. Untuk kesan test-kes, kamu mungkin perlu memulai alih di luar dengan sebuah host yang penting untuk memulai alih untuk memulai alih penggunaan. Jadi jadi di atas ini, jadi mungkin ini boleh sebenarnya boleh menjawab ke pertanyaan. Jadi satu perkara yang lebih baik tentang mempunyai mock server itu setelah saya mempunyai penggunaan itu bekerja dan saya mempunyai popole saya mendapatkan jawapan ini pada masa yang sama, seluruh penggunaan saya mempunyai penggunaan itu dan sebab saya mempunyai penggunaan itu, saya boleh sebenarnya mempunyai aplikasi yang mempunyai popole dan saya mendapatkan jawapan yang betul untuk penggunaan itu. Jadi saya percaya ini sebenarnya sangat sangat berguna kerana dalam satu deskripsi awal di mana saya sebenarnya di aplikasi di aplikasi kualiti jika saya tidak mempunyai kerana saya tidak mempunyai yang yang saya dapat menghubungkan pembentangan penggunaan kembali ke serva. Jadi dengan serva tempat yang dihubungi anda dapat menghubungi penggunaan. Oh tidak tidak tidak tidak. Okey. Jadi perkara yang baik tentang ini yang saya akan berbual di Bahagian Kebangkalan bahagian adalah anda dapat menghubungi beberapa perjalanan di pembentangan Pertama-tama-tama aplikasi yang digunakan di aplikasi anda. Kerana saya mempunyai haking, saya dapat mengambil semua aplikasi yang lain yang digunakan oleh aplikasi yang tidak digunakan oleh anda. Jadi, saya sebenarnya menggunakan aplikasi ini untuk mengajar aplikasi Google Analytics. Jadi, sebab menggunakan aplikasi, kita sebenarnya menggunakan aplikasi Google Analytics untuk menggunakai bloi perasaan, perasaan maaf, saya dapat menggunakan aplikasi yang sama untuk menggunakai aplikasi. Untuk memastikan bahawa apabila saya menggunakan aplikasi untuk menggunakan aplikasi ini, saya akan pastikan bahawa aplikasi itu digunakan servesan clap untuk aplikasi Google Analytics. Sehinggal possebut saya tidak mempunyai aplikasi untuk aplikasi ini. Jadi, kita telah melihat... Jadi, kita telah melihat... Maaf. Okey. Jadi, kita telah melihat perbuatan kontrak. Sekarang, mari saya dulu menunjukkan... ...perbuatan respons. Jadi... Jadi... Jadi perbuatan... ...saya suka BDD. Jadi, saya juga menulis begini. Jadi, mari kita mulakan dengan ini. Untuk perbuatan ini. Scenario. Jadi, di perubahan saya di home screen. Dan apabila saya mencari... ...butang yang akan berakhir di atas-atau. Dan kemudian... ...saya akan menjelaskan yang saya lihat. Ini... Saya akan menjelaskan yang saya lihat. Walaupun, ini... ...7 BDD skin, prisoner sky... ...at C1. dan kemudian saya patut melihat peralatan di seluruh. Jadi, ini hanya sebuah senarai yang saya menerima. Jadi, untuk jawapan mod, apa yang saya telah melakukan, saya sebenarnya... saya sebenarnya memastikan bahawa saya menghubungi host di luar. Dan kemudian saya ada beberapa perjalanan yang saya menerima, hei, terdapat bahawa jika untuk penjualan ini, untuk menyebabkan penjualan ini, tolong berhubungi respons ini di rumah yang akan datang, yang adalah di sini. Jadi, ini adalah jason yang akan saya menerima di sini. Jadi, seperti yang anda lihat, tidak banyak mereka. Jadi, sebenarnya, saya menghubungi banyak peralatan, dan hanya ada dua perjalanan di sini yang akan datang. Jadi, apabila saya berhubungi populer, populer adalah peralatan pertama, dan saya akan menerima jason respons yang berhubungi populer. Kemudian, yang terakhir adalah untuk sebuah peralatan extra, semasa saya berhubungi dalam peralatan yang sepatutnya terdapat. Jadi, ini adalah peralatan listan. Jadi, di BDD, di Cucumber, apabila kita menulis peralatan, kita boleh sebenarnya menghubungi peralatan atau peralatan. Jadi, dalam kes ini, saya akan menghubungi semua peralatan yang menghubungi demo. Jadi, dalam peralatan film ini, peralatan film ini, jadi ini adalah peralatan menggunakan, apabila saya berhubungi berhubungi, dan saya menghubungi peralatan film ini juga. Kemudian saya sepatutnya berhubungi peralatan film. Kemudian, selanjutnya, saya akan menunggu untuk melihat peralatan ini di peralatan. Okey, jadi, saya akan menerima peralatan. Okey, saya akan menerima peralatan. Jadi, saya akan menerima peralatan listan ini, demo, dan semuanya akan berlalu. Okey, jadi, peralatan pertama telah berlalu. Anda dapat melihat peralatan di bahagian bawah-bahagian. Jadi, saya akan menerima peralatan telah berlalu. Saya akan menerima peralatan telah berlalu. Ini adalah peralatan yang berlalu. Jadi, ini adalah bahagian yang, untuk penghubungi peralatan, anda dapat sebenarnya menerima peralatan. Kerana seluruh peralatan ini, saya sebenarnya menerima, sekurang-kurangnya, satu kali ke peralatan popular rumah. Jadi, saya mahu menjadikan pada akhirnya. Maaf, saya menerima peralatan ini. Saya menerima peralatan ini. Dan peralatan akan sebenarnya menerima semua peralatan yang datang ke peralatan. Dan kemudian, untuk peralatan itu, saya sebenarnya mahu menjadikan bahawa, peralatan peralatan berlalu dengan ini. Jadi, ada beberapa cara untuk menerima peralatan. Jadi, untuk saya, apa yang telah saya lakukan, hanya untuk demo ini, semuanya adalah untuk menerima peralatan menjadi peralatan kerana. Dan kemudian, saya hanya perlu menerima peralatan. Jadi, peralatan popular rumah itu. Jadi, ini adalah peralatan kerana. Jadi, untuk peralatan rumah, kami datang, kita pulihkan peralatan popular. Jadi, kami menerima satu peralatan yang berlaku untuk berlaku. Jadi, ini adalah kemalatan kerana. Dan kemudian kita menongsik kanan kedua. Kembali kedua dan ini adalah peralatan kedua. Untuk peralatan kerana. Peralatan kerana. Jadi, kita gravel peralatan kerana satu never. Jadi apabila kita masuk ke dalam, kita memasukkan... Jadi apabila kita masuk ke dalam, kita memasukkan semuanya. Tetapi kerana aplikasi ini mempunyai begini, sehingga apabila kita mempunyai aplikasi, kita sebenarnya memasukkan di database supaya kita tidak menghidupi aplikasi lagi. Jadi ada kemungkinan aplikasi itu. Dan kemudian apabila kita menghidupi, kerana dalam jenis jenis jenis jenis jenis jenis jenis jenis, ini adalah idea aplikasi. Jadi saya sangat spesifik bahawa saya akan menghidupi kemungkinan ini dan tidak ada apa-apa lagi. Jadi saya menerima bahawa ini... ini adalah kemungkinan kerana yang telah dihidupi. Jadi ada satu lagi kemungkinan test, yang adalah... saya mengambil sebuah post demo, yang adalah bot ini, bot ini sebenarnya tidak membuat apa-apa, tetapi membuat sebuah post-call. Jadi... jadi anda dapat melihat, selepas saya memperkenalkan dua aplikasi, saya akan menghidupi aplikasi, apabila saya menghidupi bot itu, saya sebenarnya membuat sebuah post-call, dan ini adalah panggilan post-call yang telah dihidupi. Panggilan panggilan yang telah dihidupi. Ada sebuah pertanyaan tentang ini? Saya rasa itu... Ya, saya juga. Kerana tiada siapa yang tahu tentang semua ini. Sebenarnya, jika QA mempunyai panggilan ini, anda sebenarnya perlu tahu bagaimana untuk memperkenalkan panggilan panggilan yang telah dihidupi. Ya, jadi... pada minimum, sebenarnya QA dapat menghidupi panggilan, jika mereka bekerja bersama. Yang sebenarnya saya memperkenalkan supaya panggilan QA mempunyai lebih daripada... mereka tahu lebih banyak tentang bagaimana ia bekerja dan mungkin ia boleh berikan... ia boleh berikan dalam bagaimana mencari panggilan. Kerana bukan hanya panggilan panggilan. Jika anda hanya memikirkan panggilan panggilan, ada terlalu banyak permintaan. Mengetahui sesuatu yang membantu untuk mungkin memperkenalkan panggilan. Ya, jadi... sebuah panggilan yang saya memilih, sebenarnya memperkenalkan panggilan pada menggunakan panggilan QA. Ia sangat terserah kepada iOS. Tetapi... panggilan QA... adalah sebuah panggilan... yang memperkenalkan panggilan. Jadi... mungkin... betul. Jadi, untuk panggilan QA... panggilan QA, kita mempunyai setiap panggilan atau panggilan bahasa Inggeris. Dan untuk setiap panggilan, anda perlu... anda perlu memperkenalkan... mencari cara untuk memperkenalkan itu sebagai panggilan APM. Jadi, ini... jika anda ingin membuat panggilan QA untuk APM, anda sebenarnya memperkenalkan lagi. Jadi... sebenarnya... setiap panggilan... saya rasa akan lebih mudah... kerana... ini menambah... anda perlu memperkenalkan lagi. Ada lebih banyak perkara untuk memperkenalkan. Ya, okey. Jadi... ini... ini... pasti lebih banyak kerja untuk dibuat. Tetapi... nanti saya akan mempunyai panggilan untuk memperkenalkan orang... cuba panggilan BDD. Jadi, saya akan datang nanti. Okey. Jadi, saya akan kembali ke panggilan saya. Hei, dan kemudian kita kembali. Jadi... sekarang saya telah... saya telah melakukan ini... untuk panggilan saya sebelumnya... dan juga untuk... untuk panggilan SP. Tapi kemudian saya bertemu... teman-teman saya di sini lagi. Tapi siapa mereka? Sekarang mereka bukan... mereka bukan panggilan API. Mereka sebenarnya panggilan QA. Jadi, saya minta... Kenneth, saya sebenarnya menulis... dan menulis... menulis sebuah... sebuah test sebenar... seperti apa yang anda lakukan. Jadi, kenapa anda... anda cuba membuat kita membuat panggilan? Saya bermaksud... anda sudah... membuat panggilan dengan panggilan KAMU. Sekarang anda ingin membuat panggilan dengan kita? Ayo! Jadi, perkara ini... ini bukan menyesuaikan n2nTest. Kerana n2nTest... ada banyak... skill yang memperkenalkan... keadaan itu sudah siap... untuk... untuk... untuk n2nTest... n2nTest... untuk membuat panggilan. Jadi... n2n... n2... terutama... panggilan yang mengalami n2nTest... ada banyak... ia bukan hanya panggilan n2nTest. Mereka perlu memastikan... bahawa... kita perlu mungkin bercakap... memastikan bahawa... n2nTest ini benar-benar memperkenalkan. Mereka mungkin perlu membuat panggilan... untuk panggilan n2nTest... atau panggilan n2nTest... atau panggilan n2nTest... untuk memastikan... semuanya... sudah siap... sebelum kita dapat menyesuaikan. Jadi... mereka tidak dapat membuat panggilan n2nTest. Panggilan n2nTest... dapat membantu mereka untuk menyebabkan semua... panggilan n2nTest. Dan ia menjadi untuk mengalami... dan kedua-dua panggilan n2nTest... menjadi untuk mengalami sebuah lain. Okey sekarang. Jadi... kenapa menggunakan BDD? Jadi... Jadi... ini adalah... ini adalah pilihan yang saya telah menunjukkan... jadi... di pilihan... anda menulis dalam language nativ anda... anda akan mempunyai... banyak panggilan n2nTest... yang menerang... bagaimana anda akan memastikan, bagaimana anda akan memastikan... banyak pang... sepanjang... di mana... pada awal-awal... ia tidak memalukan panggilan. Jadi kenapa BDD... sebab... bagaimana anda mahu menulis... anda mahu mengalami panggilan... dari panggilan panggilan. Jadi dalam kes ini... saya hanya berminat... dalam ini... saya hanya berminat... dalam... hei... saya hanya berminat... dalam... panggilan n2nTest. Saya hanya berminat... dalam... panggilan n2nTest. Dan ini... adalah perkara yang saya menangis... pada awal-awal. Jadi... ini adalah panggilan... BDD Test. perkara yang baik adalah... panggilan... akan mempunyai... untuk mengubah panggilan... tapi panggilan ini tetap dikiru. Bagaimana anda memperkenalkan panggilan tetap dikiru. Pertexan... panggilan panggilan... saya akan mempunyai... panggilan dikiru... sehingga... saya memperkenalkan... apabila... apabila saya memperkenalkan... panggilan sebagai panggilan saya. Jadi... bagaimana panggilan... yang dikenalkan pada awal-awal... tidak penting. Apabila anda mengubah ujian... anda hanya perlu mengubah... bagaimana... panggilan... bagaimana panggilan... yang diperkenalkan. Jadi panggilan... di sini... memperkenalkan... kita perlu mengalami... panggilan ini... dalam sistem cucumber. Dan biasanya... dengan panggilan... dan dengan beberapa panggilan biasa. Dan kita mengambil panggilan biasa... untuk... tahu bagaimana kita mahu... apa yang kita mahu memperkenalkan. Jadi di sini... untuk panggilan biasa... ia hanya panggilan. Kemudian apa yang saya lakukan... saya menggunakan model objek panggilan. Sangat common... dalam panggilan biasa. Dan kemudian saya akan cakap... panggilan dengan panggilan itu. Jadi... lagi... ia bukan hanya tentang menulis... saya menggunakan panggilan itu... dan saya menggunakan panggilan itu... dan saya menggunakan panggilan itu. Punggilan itu... sedang menerima... sesuatu yang penting. Jadi kita akan berkata... jika panggilan itu sangat lama... panggilan mobil... sangat lama... maafkan. Panggilan... panggilan di dalam panggilan itu sangat lama... dan menerima panggilan itu akan menjagakan. Apa yang kita mahu lakukan... adalah... kita mahu menghargai... bagi contoh... yang harus kita lihat... untuk dapat memperkenalkan. Dan itu... itu menjadi lebih terlalu pelanggan. ini menyebabkan kemungkinan yang tidak perlukan dari kain ini. Kerana apa yang kita mahu lakukan apabila kita datang ke kain ini, kita hanya mahu melihat kemungkinan ini. Kita tidak sangat berminat tentang menggolong. Jadi... Kamu semua okey dengan itu? Okey. Jadi, ini kain ini. Jadi, dalam perjalanan, sebuah ekspresi bahasa Inggris adalah... kita mempunyai ekspresi dengan baik dan kita cuba mencari beberapa kemungkinan. Ini sebuah model page-object. Jadi, dalam model page-object, setiap pembentangan adalah identifah. Ada pembentangan identifah. Dan apabila saya terseritai... apabila saya terseritai kemungkinan apa yakin, saya minta bahkan, Hey, saya mahu menyebabkan kemungkinan yang terjadi di atas sini Over here to an actual variable which is tied to an element on screen, which is at the bottom upcoming button. This, before that, when I try to say tabPoster, the second function, this what I will do actually use the native testing framework queries to actually get the element and then come into the last part. Over here. So, it is of course very specific to the testing framework that you use. Okay, so over here, YBDD firstly is easy to understand the value. We are not distracted by how many times you swipe just to see. So we want to express it in this way. Of course with that, it is good to actually lock behaviour test. I use this as you see in contract testing as well as mock response test. And it's something that I'm very interested to... I've tried it before, wasn't successful and I'll try it again. Acceptance test driven development. So for this use case, I want to lock down the behaviour in a test. Make the test fail. And tell the project manager, tell the QA, Hey, don't bother even taking the phone to test until I get this BDD test passing. So let it fail and the engineers go to get it to at least minimally pass. So let's revisit E2E issues. So these are the issues that I've shown before. Because end-to-end test are fragile, we can introduce mock response test to actually decouple all the dependencies as well as to be able to test all test cases because we can actually mock all the states of the environment. For the long feedback loop, one of the things we can introduce, contract test, where you can see just four scenarios I took about five seconds for my experience. Probably if you can run as many things as possible in concurrent, maybe within five minutes of contract test you can execute and validate your system. And of course replayability. So mock response test or even the method you describe is very suitable to run at pull request level because it's very deterministic and replayable, repeatable. Test are written after features are done up. So now with this test, you can actually start writing test beforehand. Okay, so here are some of the links. I actually written some BDD test long time back. This is a GitHub repository. I call this more standard on iOS development. So this is about cucumberish. Yeah, any questions? I'm done for today. Any questions? Okay, thank you.