Press "Enter" to skip to content

GOTO 2017 • Mobile Continuous Delivery is Closer, Easier and more Fun than you think • Karl Krukow


[Musica]
grazie per essere venuto alla sessione I
davvero apprezzare e spero di mostrare
voi alcune cose interessanti oggi io
vorrei fare una domanda prima così
potremmo fare mostra delle mani quanti in
ecco un pisolino in un app store mobile
app in un app store che è la maggior parte delle persone
va benissimo ora pensa a uno di
queste app e poi pensa a come
spesso non si rilascia aggiornamenti del
app quindi se lo sai una o due volte
all’anno potresti alzare la mano sì
è come poche persone forse trimestrali
tre quattro o cinque volte all’anno sì
altre quattro o cinque persone che ne dite
ogni due mesi circa una coppia
di persone lì ogni mese una due ish
1/2 che dire circa due volte al mese questo
qui ogni settimana più volte a settimana
ogni giorno più volte al giorno comunque
no, è pazzesco vero
o è questa la domanda
quindi spero in questo discorso che voglio
convincerti che forse non è così
pazzo come sembra ok e per farlo lo sono
userò una app di esempio
durante tutta la presentazione mi limiterò a
darti una rapida introduzione all’app, quindi
si chiama mia guida è stato rilasciato
alla conferenza di costruzione di Microsoft l’ultima volta
anno 2016 ed è open source che puoi
vai a scaricare questo su github dopo
il discorso se vuoi vedere alcuni dei
codice ed è diverso da un cellulare IOT azzurro
thingy non sto solo andando a parlare
il pezzo cellulare – il vostro pezzo è una specie di
interessante a sé stante sta usando
cose come l’ apprendimento automatico e
elaborazione ma non è davvero l’argomento
di questo discorso e quindi l’idea è che tu compri
questo dispositivo questo dispositivo IOT che puoi
inserire nella vostra auto sarà collegarlo
conosci la maggior parte delle auto moderne e questo
il dispositivo sta per raccogliere la telemetria
mentre stai guidando così velocemente
andando
quanto combustibile consuma ciò che è
il motore carica quel genere di cose e poi
che viene trasmesso da Bluetooth
o Wi-Fi, quindi sei un’app mobile e questo
è la mia guida e che combina
questo con posizione GPS quindi sei un sei
essenzialmente come stai guidando intorno al
l’app traccia il tipo di simmetria delle carte e
dove siete e poi le navi che fino al
a una nave per l’elaborazione e poi
in ultima analisi, è sorta di raccogliere questo
dati e ottieni una sorta di punteggio
questo ti mette a confronto su come te
guida rispetto ad altri quindi lasciami solo
mostrarti questo tipo di vero veloce così
usciamo da questa modalità qui e te
avere il bel schermo e io ci vado
spostalo qui, quindi questo è il mio telefono
oops quindi è una sorta di aggiornamento dal vivo qui
quindi ecco la mia guida sta lanciando io sono
saltando l’autenticazione tu
posso accedere con vari strumenti che sto per fare
eseguirlo solo in modalità demo perché io
non ho una macchina reale qui non posso
ti mostro davvero così eccoti qui
ora una mappa di dove sei e vedi
siamo qui a Copenhagen e l’idea è
ora andrò a fare un giro in questo
questa macchina e voglio seguirla quindi colpisco
questo bottone rosso e sta andando
cerca uno di questi dispositivi IOT ora
Non sara ‘trovare uno perché io non sono
in realtà in macchina e non ho
questo dispositivo ma posso eseguirlo in simulazione
un modo per fingere di guidare
in giro quindi facciamo finta di guidare
intorno e non so forse devo
arrivare all’aeroporto e poi dopo a
mentre ho finito di guidare e ho avuto
fermato potrei semplicemente salvare il mio nome di viaggio
qui guida la prova e ne capisco un po ‘
metriche di base sulla durata e il
la velocità ora è simulata, quindi non lo è
particolarmente interessante quindi posso vedere
i miei viaggi passati così di nuovo qui è falso
dati
ma c’era uno dei ragazzi chiamato
James Monson Mack sa chi è stato
guidando per Seattle quindi se ne hai uno
In passato, mostrerà questa mappa
e se usi il cursore in basso
puoi vedere che sai mentre guidavo
intorno a Seattle, quello che James era
sai quanto velocemente sta andando a questo
dato momento possiamo abbiamo potuto vedere se ci
Potrei trovarlo ad accelerare da qualche parte
il limite di velocità a Seattle lo fai
conosci kita 50 va bene così sta facendo lui è
facendo bene così e poi l’ultimo bit è
tipo di un profilo questo è dove si ottiene
il tuo punteggio ora sembra che io sia Scott
Guthrie che non è male
e quindi posso cambiare le impostazioni come
invece di avere questa cosa imperiale io
può andare nel sistema metrico che è
fondamentalmente l’app va bene così tornerò a
questo più tardi ma se voi ragazzi avete con me
per un secondo perché di recente cambio
dall’essere un ingegnere all’essere un
manager e II appena davvero non arrivare a
codice tutto così spesso se non ti dispiace
lasciatemi solo provare a trovare opportunità
dove posso arricciare qualcosa, lasciami solo
fallo solo per pochi secondi perché io
non riesco a farlo molto spesso così
che l’app è scritta usando il salmone
tecnologia non molto pertinente
questo discorso ma è per questo che stai vedendo
vedi il codice negozio qui e poiché è così
molto tempo fa da quando ho fatto il codice penso
le mie capacità saranno limitate a
cambiando il colore della barra quindi se tu
ricorda che hai avuto questo bar solo un secondo
questa barra in alto qui dove dice corrente
viaggio che è blu
II preferirebbe avere in nero
invece così mi limiterò a fare che sto andando
cambia questo colore qui e poi lo sono
andando a sbattere la versione dell’app qui
perché quello farà una nuova versione
okay whoops
Stavo riavviando la mia macchina prima di questo
quindi ho dimenticato di avviare il mio terminale lasciami
fai in modo veloce
non ho lanciato lì andiamo
quindi cosa voglio fare con questo limitato
sessione di codifica Voglio controllare il mio cambiamento
ecco che sembra un bel sorriso
dì il passaggio al nero ok, ne sono felice
che lo spingo
è il mio git repo oh crap, va bene
okay, quindi ho avuto la mia sessione di codifica per
oggi immagino sia quello che succede quando
a rendere il passaggio va bene così che è
la demo la userò per tutto il
parlare per scopi diversi
ma ora almeno conosci il
applicazione quindi il messaggio di questo discorso
voglio solo farti ragazzi
rilasciare più spesso spedisce più modifiche a
eppure così se prima avevi le mani in alto
quando ho detto ogni anno il mio obiettivo è che tu lo faccia
andare a una cadenza di rilascio trimestrale o se
eri trimestrale per arrivare a un mese
rilasciare la cadenza o addirittura verso il basso
bisettimanale o settimanale o anche più se
vuoi e perché cosa voglio voi ragazzi
per farlo, quindi c’è un sacco di
benefici a questa nozione che potrebbe chiamare
consegna continua o continua
spiegamento e il primo e più gentile
di cosa ovvia è ridotto il tempo di consegna così
qual è il tempo di consegna è il momento in cui
qualcuno ha un’idea finché non viene codificato
e in realtà nelle mani degli utenti
fornendo valore a quegli utenti ora
ovviamente se spedisci un anno
cadenza e all’inizio dell’anno
hai costruito questa bella funzionalità o hai risolto
questo buck ma aspetti fino alla spedizione
che e in batch in su con un gruppo di
altre modifiche che non hai effettuato
la fine dell’anno bene quindi il piombo
il tempo è un anno mentre se lo sei
spedizione settimanale i tuoi tempi di piombo settimanali
essenzialmente non appena consegnate il vostro
spedendo la cosa così questo significa che lo sei
stai valutando il fatto che stai ricevendo bug
corregge i tuoi utenti più velocemente e gli utenti
percepisci che sei più agile e
reattivo al feedback così questo è uno
ovvio beneficio che a sua volta consente
per ottenere un feedback più veloce, quindi se tu
avere un’idea per una funzionalità di un cambiamento
vuoi fare per l’applicazione e
lo si codifica in due o tre settimane e
lo fai subito fuori e poi tu
renditi conto una volta che lo fai uscire e ottieni
feedback da parte degli utenti che attendono un minuto
questa non era davvero una buona idea
non era la cosa giusta da costruire bene
allora puoi andare a cambiarlo immediatamente
piuttosto che apprenderlo dopo un anno
e poi realizzando oh merda questa cosa noi
costruito e poi ne abbiamo costruiti altri dieci
caratteristiche in alto non era in realtà ciò che il
gli utenti vogliono così è sicuramente un
vantaggio competitivo se stai imparando
più veloce dei tuoi concorrenti anche tu
andando a ottenere una maggiore qualità e il
la ragione è che se stai iniziando
diciamo che stai iniziando con un
applicazione che funziona e stai facendo
un piccolo cambiamento aggiungendo una funzionalità
risolvendo bene un bug e poi ragionando
il Delta da quel app di lavoro in modo che
lavoro fuori più il bug fix è molto
più facile che se stai ragionando su a
anno o un mese o due mesi
cambia ed è molto più facile testare così
alla fine porta a trovare bug
più veloce e poi c’è questo che io
mi piace davvero è completamente inventato
grafico non è basato su alcun scientifico
risultati ma è vero il punto del
il grafico è vero e lo so perché
L’ho provato anch’io, così è
raffigurante lo stato emotivo del
squadra di ingegneri mentre sta attraversando
una di queste uscite annuali di Cadence è così
sei all’inizio dell’anno si
definire un progetto che stai per spedire a
sai il 22 dicembre diciamo 2017 e
all’inizio è come se iniziassimo
sviluppo abbiamo questa nave bersaglio
data e inizi il verbo e
sei probabilmente un po ‘in ritardo
va bene che vi raggiungo dopo destra
e poi mentre ti avvicini a questo
data della nave di destinazione in cui si conosce l’urgenza
prendere a calci e mentre ti attraversi
aspettarsi che la data di spedizione e tu no
nave quindi l’urgenza entra davvero e
ora i tuoi manager ti stanno spingendo e
Ehi, abbiamo deciso che lo spedirai
cosa il 22 dicembre e ora è cosa
15 gennaio e non l’hai spedito così
inizi a creare scorciatoie che inizi
sentendoti molto male inizi a correre
cose e poi forse un mese dopo te
in realtà vai e spedisci e ti senti davvero
male perché tutti sono arrabbiati di te
non è stato spedito in tempo e quindi effettivamente
questo grafico è stato calcolato generico
per le app mobili c’è un ulteriore
basso qui così quando finisci di programmarti
devi quindi pubblicare l’app e il if
è su iOS nell’App Store iOS quindi
c’è in realtà un ulteriore basso qui
che chiamo l’ abisso di Apple che è
quando consegnerai questa app e poi
Aspetti solo che li attraversino
questo processo di revisione manuale e poi alcuni
punto dicono che va bene è abbastanza buono e
poi il sollievo calcia, almeno abbiamo capito
nell’App Store ma non lo siamo davvero
sollevato ancora perché quelli che sono gli utenti
dicendo quali sono le risposte sono loro
in realtà funziona, ma spero di andare come
bene e in effetti inizi a sentire
piuttosto buono e poi immagino un mese
più tardi così sei tu a sbirciare fino a te
renditi conto che dobbiamo fare tutto questo
ciclo di nuovo per un altro anno di
sviluppo quindi sì è completamente fatto
ma ho provato questo e in realtà
è esattamente come mi sento io
ricorda di aver spedito la mia prima app per iOS e
il più delle volte ti piace ancora
sentirsi male e poi hai questo picco
e poi BOOM scendi di nuovo così mi piace
dire che il rilascio dovrebbe essere come
respirando quindi è qualcosa che fai tutto
il tempo non è nemmeno pensarci
è solo una volta che ti fermi
respirando senti il ​​dolore giusto e così
se è solo che scorre per tutto il tempo in modo
pensa al processo di rilascio come
quella
Sono sicuro che è niente affatto come quello che
voi ragazzi avete oggi tutto bene così
potrebbe ora dire che è bello ma lo è
c’è qualcuno che lo fa davvero e io
sono uscito e ho fatto delle ricerche e ho scelto
alcune app conosciute penso che sia un po ‘
di loro potrebbero essere le migliori app del mondo
costruito da alcuni dei migliori del mondo
l’ingegneria squadra cose come Google
Mappe LinkedIn Facebook Twitter quel tipo
di cose e queste ovviamente ovviamente
hai conoscere alte valutazioni di un ampio
quantità di valutazioni centinaia di migliaia
anche milioni di voti e poi io
guardato attraverso l’ultima coppia di
anni qual è la cadenza di rilascio di
queste app con che frequenza fanno
pubblicare aggiornamenti e questo è quello che
sembra
si tratta di aggiornamenti bisettimanali o settimanali
quindi non è come questa cosa non può essere
fatto ma di nuovo si potrebbe discutere bene
non siamo Google o Microsoft o
qualunque cosa
quindi non possiamo farlo ma spero di convincere
in realtà puoi farlo, quindi immagino ormai
quello che sto dicendo non lo sai super
controverso sai tutto questo
Benefici immagino che lo sappiamo, se noi
parliamo di consegna continua per alcuni
tempo ma ancora una volta lo sai quasi no
uno ha avuto la mano a settimana o
rilasci bisettimanali quindi cosa ci fermerà
perché non lo stiamo facendo e penso
c’è un sacco di ragioni diverse I
voglio guardare alcuni di loro e poi
forse ti mostro alcune delle ragioni
perché non lo stai facendo o no
in effetti , non è più vero
e in effetti puoi andare e farlo
va bene così recente numero uno della Grande Mela
quindi abbiamo già parlato di questo il
Processo di revisione dell’App Store quindi almeno su
iOS per pubblicare un’app e ottenere tutto il
via d’uscita devi inviarlo per un
processo di revisione manuale giusto ed è
come questa scatola nera che è proprio lì
nella tua pipeline di consegna e sei tu
non so quanto ci vorrà
per passare e in effetti non lo fai
sai anche se riuscirai a superare o
non così come potresti eventualmente fare un po ‘
tipo di processo di consegna continua quando
questa cosa è proprio lì nel mezzo
bene dare un’occhiata a questo grafico così sul
sull’asse x hai tempo quindi torna indietro
Luglio 2015 e sull’asse y hai il
tempo medio di ciclo di revisione per quanto tempo
dal tuo pisolino pubblicato e così è
effettivamente passato attraverso la revisione lo fa
prendi e sì è vero se torni a
Luglio 2015 hai avuto una o due settimane
rivedere il tempo del ciclo ma è anche molto
chiara tendenza in basso a destra di questo grafico, quindi se
si traccia questa linea rossa al punto
fondo che risale a un anno di luglio
l’anno scorso in realtà sta colpendo
un giorno questo significa che puoi lavorare tutta la settimana
e poi il venerdì pubblica la tua app a
la recensione e poi il sabato fuori
lì e questi dati non li ho
l’ho rintracciato per un altro anno ma l’ho fatto
sentito la gente parlare di ciò che chiamano
il ciclo di revisione di due ore in modo che da
pubblichi finché non è là fuori che è
due ore il che significa che potresti fare un
versioni giornaliere su iOS, quindi se hai pensato
questa cosa ti stava fermando
non è più il caso
c’è in realtà un modo diverso
beneficio del piccolo Delta continua
modello di distribuzione che è qui se si dispone di
un anno di sviluppo e tu
pubblichi quello per la revisione bene allora
probabilità di una cosa in quel cambiamento
impone di violare alcune linee guida sulla mela
è più alto di se hai un piccolo
funzionalità di bug piccola correzione in modo che significa
la probabilità di ottenere l’accettazione è
quasi il 100% se stai consegnando ogni
una settimana, quindi non è davvero solo
lì ti fa ritardare alcune ore ma
questo è ciò che non ti impedisce
va bene così non è il caso
oh sì questa è questa cosa qui
qualcuno sa cos’è questo strano picco
quindi non so, voglio dire, sto indovinando
ma è giusto dopo la fine di dicembre quindi
Immagino sia come un Natale nuovo
Le vacanze di Capodanno al recensore di Apple
le persone e poi quando tornano
dopo Natale hanno costruito questo
un’enorme coda di app da rivedere
quindi sii consapevole che se stai andando
per farlo solo nel periodo di Natale
potresti non aspettarti di essere in grado di farlo
consegnare ogni due ore tipo di
interessante tutto bene così questo è uno
cosa
prossimo problema quindi se avete intenzione di spedire
un aggiornamento di qualità e hai intenzione di fare
ogni settimana o anche ogni giorno che vuoi
per essere sicuri che non stai spendendo tutti
il tuo tempo costruendo test e
pubblicare la tua app in modo che sia così
andando a richiedere un po ‘di on
automazione una sorta di CI istituito dove
I server CI si stanno verificando per cambiare
costruendo l’ applicazione eseguendone alcuni
prova perché se passi tutto il giorno
in realtà mettendo la cosa nell’app
Conserva bene quindi non hai tempo
per lo sviluppo ora il problema è con
mobile hai bisogno di essere max per correre
i tuoi server CI almeno se lo sei
edificio per iOS e nella maggior parte delle aziende
l’infrastruttura CI esistente non lo è
tipicamente basato sul massimo che non ho mai
visto quello prima così così che cosa finisce
sta succedendo è quel team di ingegneri
essi stessi hanno bisogno di fornire quei Mac
minis o qualunque cosa tu sappia configurare
Jenkins ha sistemato tutto e poi ognuno
il team sta gestendo il proprio piccolo CI
cosa e passare del tempo a mantenerlo
e solo per divertimento ho cercato un articolo
online noi
è come faccio a impostare Jenkins per costruire un
samara nap Sono sicuro che è lo stesso se tu
usa Xcode e poi Swift o Android
studio e e Gradle e così via, ma
istituendo quella cosa e questa è parte
uno degli articoli e quindi quello che fai è
guardi i prerequisiti e poi
tu guardi questo video e poi tu
installa Jenkins e poi lo configuri
plugin e poi si mette in piattaforma
SDK è come Xcode e Android che ti servono
per inserire le risorse per la firma di cui hai bisogno
per vedere un set di pipeline CI che ti serve
firma del certificato e questo è giusto
parte uno dell’articolo giusto non lo è
qualcosa che vogliamo i nostri ingegneri o noi come
gli ingegneri vogliono passare il tempo a fare
vogliamo non creare valore per i nostri utenti
configurare i server CI bene, quindi cosa succede se
potremmo ottenere questo servizio SA che qualcuno ha fatto
il lavoro come questo è tutto ciò che offusca
i giorni in cui stiamo tutti discutendo di questo
keynote del mattino sul cloud perché no
questo solo un servizio che posso ottenere ok
il prossimo problema è la qualità, quindi la qualità è
davvero difficile con le app mobili perché tu
avere tutti questi dispositivi proprio lì
migliaia di dispositivi diversi là fuori
stanno facendo hardware diverso
diverse CPU hanno la loro memoria
hanno il loro hardware
funzionalità hanno schermo diverso
risoluzioni di dimensioni lanciate in diversi
piattaforme che eseguono diverse versioni del sistema operativo
ora se vuoi esserne sicuro
la tua app funziona effettivamente per i tuoi utenti
che hanno una selezione di questi dispositivi
è necessario testare su alcuni appropriati
sottoinsieme rappresentativo di tali dispositivi
ora quello che alcune aziende finiscono per fare è
questo quindi essenzialmente scrivono parole grosse
documenti con tutti i casi di test e
poi loro esternalizzano il test a
qualche azienda che conosci è la
le abilità hanno i dispositivi e vanno
attraverso alcuni set di test case manuali di
leggendo le istruzioni passo-passo e
Documenti di Word e poi scrivono il
risultati giù prendono alcuni screenshot
rimandalo indietro ora il problema con questo
è necessario molto tempo per cui abbiamo parlato
con aziende che hanno cicli di due settimane
per questo per i risultati dei test a
riprendere
e non si adatta perfettamente al tuo CI
conduttura di consegna quindi è fondamentalmente
richiede troppo tempo anche il processo sei tu
conoscere intrinsecamente il tipo di manuale e umano
il che significa che ci sarà
filo interdentale sarà comunicazione
errori tipo di cosa, quindi cosa succederebbe se potessimo
automatizza un grande pezzo di questo così tu
potrebbe avere familiarità con il concetto di
automatizzato stai provando da tipo di
altre tecnologie non è così comune
e ancora mobile penso che stia guadagnando a
molta trazione quindi nel caso in cui non lo fai
conoscere i test dell’interfaccia utente automatizzati è come se fosse
come questa persona che prova l’app è
come un programma che usa solo l’app
come un essere umano , questo significa che tu sei tu
usi i gesti come fai tu
toccando lo scorrimento scorrendo i testi in entrata
dispositivo rotante anche in giro
attiva il trasmettitore GPS ora tranne
con i test automatici lo stai facendo
da un linguaggio di programmazione e tu sei
usando un framework per fare ciò di cui hai bisogno
un qualche tipo di linguaggio di query in modo che tu possa
identificare le visualizzazioni quindi ecco un esempio
usando c-sharp e una tecnologia chiamata
test dell’interfaccia utente di salmone, ad esempio, per esempio
per dire app per favore tocca tutto ciò che è
visibile sullo schermo corrente che ha
per etichettare ciao aiuto o app per favore
toccare qualsiasi elemento sullo schermo che ha
l’idea tecnica del pulsante cronologia oh
per favore attendi che questo elemento appaia
o per favore aspetta lo spinner
scomparire ma non più di 30 secondi
perché ci vuole troppo tempo per te
gestire cose come rilanciare il
applicazione che cancella l’applicazione
affermare cose che normalmente faresti
installandolo manualmente disinstallandolo
e poi c’è il loro comando speciale
dove puoi dire a quello screenshot
che sta per generare uno screenshot
in quel momento nello script di test
e incorporarlo in una sorta di rapporto di prova
quindi è fantastico che significa che puoi
automatizza un grosso pezzo del tuo
i test di regressione ora non lo faranno
eliminare ogni singola necessità di un manuale
test ci sono cose che non possiamo scrivere
o cose che non possiamo programmare abbiamo bisogno di a
giudizio umano ma se puoi automatizzare
80% dei test di regressione utilizzati
automazione che è un grande miglioramento
questo altro scenario che stavo delineando
delineando
e vediamo diamo un’occhiata a un esempio di
ciò che questo guarda e si sente come in
pratica
quindi torniamo qui e se si verifica
questo repo qui che come ho detto è acceso
github vedrai che in realtà viene
con alcuni test dell’interfaccia utente scritti in a
tecnologia chiamata sintesi nuovi artisti
ora c’è un sacco di diversi
tecnologie là fuori
Apple ha il suo Google ha il suo io sono
solo usando questo come esempio il bello
la cosa su questo è quello
è multipiattaforma nel senso che io
può avere una suite di test in esecuzione
sia su Android che su iOS e posso riutilizzarlo
gran parte della logica di testing, quindi sono
non ti mostrerò esattamente cosa
i test sembravano, ma ho intenzione di mostrare
ciò che l’esperienza di loro esecuzione
quindi immaginare di essere uno sviluppatore dopo aver fatto
un cambiamento ora prima di controllare che io sia
gestirò solo una serie di test di regressione
così usciamo qui così qui abbiamo noi
potrebbe scorrere un po ‘in modo da ricordare il
pagina dei viaggi precedenti in cui posso trascinare questo
Cursore in giro ho una regressione di coppia
prova che sta esercitando questo e controllando
che le cose vanno bene e poi c’è un
test pull-to-refresh che è sul mio
lista dei viaggi passati quindi proviamo a correre
questo e tu vuoi vedere qui è il mio
iPhone di nuovo mi piace correre contro iOS
Android ora concesso a iOS sta diventando un
inizio non posso correre
entrambi questi dall’interno dell’IDE così sono
andando a correre su uno di loro dal
riga di comando sono nella directory sbagliata
Oh No iOS sta diventando troppo di testa
inizia a vedere se ora sono nel giusto
sapere quale vincerà, prova ancora
eccoci qui e solo l’ emulatore di Android
essere la condivisione dello schermo in modo da ora sto correndo il
stesso
test suite su Android e iOS e
automatizzando conosci un grande pezzo di
test di regressione che vorresti
normalmente fai da sviluppatore o da te
lo spedirei ad un qualche tipo di manuale
il ciclo di test è abbastanza bello quale
pensi che vincerà questo
Andrai a prendere Android sai che penso
Ero nell’ultimo caso di test che sta per succedere
vinci questa volta cambia ogni volta
dai questa presentazione quale è
vincente
quindi loro Android intendo che diventa più veloce
poi vado sempre più veloce, va bene così
questa è l’ esperienza di avere un
suite di regressione e eseguirla come
parte del flusso di lavoro di sviluppo allora
potresti chiedere bene come faccio realmente
scrivi questa roba e di nuovo dipende
la tecnologia che usi in questo caso lo sono
usando C shop è solo un esempio di te
puoi usare x UI test e usare swift che puoi
usa Java e usa Expresso ci sono
diverse opzioni puoi o semplicemente
tipo di esplorare l’API andando a leggere il
documentazione qui puoi leggere il
campioni e così via, ma in questo caso io
voglio mostrarti qualcos’altro che è
chiamato il registratore del salmone così
è un modo per iniziare davvero
facilmente e rapidamente nel caso in cui non lo fai
ho già qualche test e tu
voglio solo giocare con lo strumento
quindi devi controllare il mouse su questo
schermo e non guardare qui, quindi ecco
il registratore e qui è il mio androide
l’emulatore così posso fare qui è che lo farò
scegli il mio emulatore Android qui e io sono
sceglierò la mia guida ed è
andando a reinizializzare l’ emulatore e
tipo di uno stato di registrazione che avvia il
applicazione e ora posso colpire questo
pulsante di registrazione e posso solo iniziare a usare
l’app proprio come farei come un
utente umano, quindi salterò l’ autenticazione
Colpirò questo hamburger Sono un nuovo
cosa e quello che voglio fare è che voglio
testarlo se vado in impostazioni e io
interruttore
distanza dal sistema metrico e poi da me
torna nel mio profilo ora voglio
asserire che questa cosa qui è dentro
chilometri non miglia quindi se lo sono stato
fare l’automazione quello che sto facendo ora è
Passerò alla modalità di asserzione
che è questo pulsante piccolo mirino
e poi faccio semplicemente clic sulla cosa che voglio
affermare è lì e questo è
generare codice qui che sta dicendo
attendi l’elemento con il testo dell’ID
distanza ma in realtà non sta testando
che la cosa è in chilometri, quindi posso
vai a personalizzare questo qui e io dico ok io
voglio testare questo ID ma voglio anche farlo
assicurati che il testo sia quello
il testo è ora e tu vedi che è ora
generare codice che sta dicendo trovare il
elemento con questo ID assicurarsi che il test
ok scusami ho premuto il pulsante sbagliato
Faccio clic sulla distanza totale ma ottieni il
punto
quindi proviamo ora abbiamo il nostro test lascia
prova a vedere se questa cosa funziona davvero
quindi ho intenzione di passare in modalità di esecuzione e
sta per rieseguire l’applicazione
lanciamo l’applicazione e poi proviamo
essenzialmente la sceneggiatura che è
generato qui toccando trovando il
navighi il menu saltando nelle impostazioni
commutazione distanza metrica andando avanti e
quindi facendo questa affermazione quindi è un modo
non lo farai sapere
codice di ottima qualità ma è un modo
per generare e iniziare molto velocemente
e conoscere le API e poi te
può costruire un architetto migliore per testare
peso da lì tutto bene così è stato
l’introduzione – fammi chiudere il
intro per automatizzare i test dell’interfaccia utente ora facciamo
torna qui e pensa a cosa
succede se prendiamo questo concetto
test dell’interfaccia utente automatizzato e woops sono i miei
demo e poi lo portiamo nel cloud
essenzialmente, quindi cosa succederebbe se tu avessi una nuvola?
di dispositivi che sono tutti i dispositivi
che vorresti testare su quello
bambina sta testando manualmente nel
foto di prima e ora potresti
ottenere il
nel cloud quindi fai il test automatico
distribuirli su dispositivi nel cloud
ottenere i risultati del test
ma poi efficacemente lo hai eliminato
questo passaggio o gran parte del passaggio in
almeno nel ciclo CI a cui accedi
i dispositivi che non c’è bisogno di andare da
loro puoi far funzionare l’automazione che puoi
integrato nel tuo sistema di CI , quindi penso
questa è la prossima cosa che stai andando
di dover fare per poter passare
questo modello di consegna continua va bene
quindi diamo un’occhiata a come possiamo effettivamente andare
fallo così, quali sono i passi che faresti
bisogno di fare per andare in un settimanale o addirittura
cadenza giornaliera di rilascio quindi ovviamente
hai bisogno di capire cosa tu
voglio costruire ora non posso aiutarti a fare
che qualunque organizzazione tu sia
c’è qualche processo per venire con
un’idea per ottenerla approvata e iniziare
lo sviluppo ma la maggior parte delle organizzazioni
dopo quella fase se guardi un po ‘
i pezzi tecnici sembrano uguali
quindi hai un sistema CI che sta per fare
controlla e reagisci a questo cambiamento
hai fatto il controllo del codice sorgente per costruire il tuo
applicazione per simulatore e dispositivo e
eseguire test unitari e test di integrazione ma
non è davvero giusto che tu non lo sia
valore di spedizione per gli utenti e così altro
abbiamo bisogno di fare bene ho appena parlato
su questi test dell’interfaccia utente che puoi eseguire
dispositivi o simulatori ma anche così sei
probabilmente spedizione non confortevole ancora se
nessun essere umano ha mai visto l’applicazione sarebbe
metti pubblicazione che probabilmente non forse
vorresti quindi averne un po ‘
test manuali che si vuole fare in modo che
distribuendo il cambiamento che hai fatto
build che include quella modifica a
persone che lo stanno facendo manualmente
deve essere veramente facile e automatizzato
cos’altro dobbiamo fare per spedire tutto
il modo per l’App Store è gridare
non nelle mani dei miei utenti ancora firmare
sì, quindi è necessario firmare costruire una versione
versione o dimissioni di una versione esistente
con profilo di pressurizzazione della distribuzione
potrebbe essere necessario generare nuovo aggiornato
screenshot perché potresti essere cambiato
l’ interfaccia utente e quegli screenshot sono nel
Descrizione dell’App Store per il tuo
potrebbe essere necessario aggiungere probabilmente lo vorrai
aggiungi le note di rilascio che potresti aver cambiato
metadati ma anche così non ti sei fatto
bisogno di andare su iTunes Connect necessario
carica la cosa e poi premi il tasto
pulsante per inviare per la revisione e poi tu
avere questo processo di revisione di Apple , ma ora
sappiamo che sono solo due ore quindi due
ore più tardi si ottiene una e-mail di approvazione
stai bene e poi devi andare
indietro e vai a colpire il pulsante di pubblicazione
ma anche così i tuoi utenti non hanno ancora
l’aggiornamento giusto perché sulle app mobili
devono uscire dall’aggiornamento
l’ App Store a meno che non siano automatici
aggiornamenti quindi è un bel po ‘di passaggi ma
allora spero che tu abbia un modo di
feedback di monitoraggio forse hai
analisi forse hanno altri modi ottenere
feedback sul cambiamento che hai fatto
si spera genera nuove idee per
esperimenti che vuoi eseguire tu vedi se
guardi tutte queste cose e tu hai
niente oggi è scoraggiante come sono
Ho sempre intenzione di fare questo ogni singolo giorno
in effetti è leggermente peggio perché
c’è una specie di due loop qui
un loop interno che alcuni di voi potrebbero chiamare un
anello interno che è la cintura fa a
cambia tu costruisci tu corri il test il
i test falliscono, vai indietro, fai un cambiamento
di nuovo così quella cosa rossa che sta funzionando
più volte per ogni versione ora
la prossima cosa che voglio mostrarti è
automatizzando quel pezzo il ciclo interno il
cosa è la cosa più costosa
utilizzando il Centro mobile che è il prodotto
Sono su cui sto lavorando ora in Microsoft
servizio di produttività per sviluppatori così lo farò
fallo in modalità demo, quindi saltiamo fuori
e apri Chrome qui, quindi aspetterò
Lo farò in modalità privata qui
perché voglio accedere da zero
e tipo di mostrare l’esperienza di
iniziare così andrò a
aka.ms/offweb
va bene come se fossi online mi scuso per
che ho dovuto riavviare la mia macchina prima
questo va bene ms / mobile centro strikin
Sì, molto meglio, okay, così puoi arrivare a questo
pagina si può leggere su documentazione
e di cosa tratta tutto bene noi
voglio solo iniziare così per te qui
vuoi andare ad iscriverti ora che abbiamo fatto
è tale che non devi andare
attraverso una complicata registrazione vieni con te
può connettersi con i servizi Hoth esistenti
quindi sono abituato a diventare uno sviluppatore e lo sono
andando a connettersi con Github va bene
firma oh cavolo ok scusa è così
perché ho dovuto riavviare questa cosa solo
prima dell’incontro solo un momento
dalle sei alle nove e sessantacinque, ok ora
Sono connesso tramite Github e ci riesco
questa pagina e mi sta dicendo che tu lo sai
non ha bisogno di andare e impostare una nuova app
quindi fammi farlo visto che stiamo facendo il mio
guidando usiamo quella guida e io posso
scegli iOS Android o Windows I’m
usando un’app per iOS in questo caso qui e io
può usare Xcode e Swift per reagire nativo
salmone, scelgo salmone perché
questo è quello che stavamo usando ora è
creando l’ app V e vedi ora l’app
è configurato e mi sta dicendo che io
possibile aggiungere questo SDK se voglio ottenere il
pieno valore qui nel mio caso non lo faccio
in realtà voglio andare a fare quello che voglio
per configurare una build nel cloud così sono
andando a questa build tocca qui e
mi chiederà quale servizio sono
usando per memorizzare il mio codice sorgente che sto usando
github e dal momento che ho già autenticato
via Github sa quali repos ho
quindi ho un sacco di cose qui
andando a cercare dalla mia guida e ora
sta controllando i repository e trovando tutto
i rami che ho in questo codice
e configurando che prenderò solo un
secondo, è una relazione abbastanza ampia
richiede solo un po ‘più tempo e tu puoi
trova tutti i miei rami qui e sono solo
andando a configurare una build qui questo è
la soluzione iOS voglio solo costruirla
in modalità debug mono ed extraversion I
non importa solo di scegliere il default che sono
solo andando a usare una build di simulatore e
allora puoi scegliere di costruire
ogni spinta a questo ramo o manualmente dentro
In questo caso userò solo il manuale
quindi salviamo e costruiamo questo ora che puoi
non capisco cosa sta succedendo qui, ma dentro
sullo sfondo ciò che sta realmente accadendo
è che sta configurando un build agent
sopra
un Mac già preinstallato con
tutti gli SDK con Xcode nella versione I
scelto e sta configurando un agente e
quell’agente sta già verificando il mio
codice sorgente ora e costruendolo su un Mac
nel cloud quindi questo significa che il
nel complesso conoscete l’ installazione di Jenkins su più pagine
guida non posso andare a fare questo e
puoi vedere che lo streaming non lo faccio
sai se riesci a scoprirlo, ma è così
in streaming le serrature di inizio
questo costruisce così controllando gli ingranaggi
ripristinare i pacchetti NuGet e così via così
mi ci sono voluti minuti per registrarmi e impostare
il mio primo edificio è abbastanza bello
Non ho intenzione di aspettare questo che voglio
salta al prossimo pezzo in modo gentile
immaginando di aver impostato la build così
per quello userò il cellulare
Asscher vieni qui e qui ho già
imposta questa cosa così ho impostato il mio
guidare un’app per Android e iOS e I
voglio guardare il prossimo pezzo che è
testare quindi ho intenzione di saltare nel
servizio di test abbiamo visto come configurare il
costruisci un servizio così qui vado a vedere
solo una lista di test esistenti che ho eseguito
in passato ti mostrerò
come configurare una nuova esecuzione di test, quindi sono
andando a colpire nuovo test eseguire ora il primo
passo qui è quali dispositivi voglio
corri così i dispositivi che stai vedendo qui
sono circa 240 diversi Android
configurazioni del dispositivo e un dispositivo
la configurazione è un modello come Google
pixel e una versione di Android così ora io
posso scegliere qualsiasi dispositivo che vorrei
voglio mettere in piedi i miei test di regressione
nel mio caso la mia app supporta solo determinati
versioni di Android, quindi ho intenzione di
filtrare questo sistema operativo
versioni otto sette sei qualunque cosa dovrebbe
stai bene e poi ne prenderò una manciata
Android otto oops
Voglio questo pixel di Google con Android
sette Android sei così ora scelgo la mia
dispositivi quindi posso scegliere il suo test
configurazione in modo che la serie di test sia un modo per
raggruppa i tuoi test in modo da poterlo fare
separa il tuo fumo veloce da regressione
test dalla tua regressione in piena regola
le prove vado a scegliere il maestro
che è il default di me
configurare quale lingua dovrebbe il
dispositivo di essere configurato in quando sono in esecuzione
questo test perché la tua app potrebbe comportarsi
diversamente quando è in esecuzione in danese
rispetto all’inglese, scegli questo e
ora posso scegliere il mio framework di test I
accennato ci sono multipli qui noi
supporta i più popolari nel mio caso
Ho usato i test di Samer e dell’interfaccia utente che
dal modo in cui funziona su tutte le app no
deve essere estate nelle app e ora lo è
mi mostra bene come posso in realtà calci
fuori da questi test eseguiti su questi dispositivi
nel cloud per farlo ho bisogno
installare in uno strumento CLI che richiede
il nodo è come una installazione su linea singola
pacchetto per ottenere che ho già questo
Non ho bisogno che questo sia il
comando che in realtà ho bisogno di dare il via
i test ora se riesci a farlo
ma sta dicendo che mandano o eseguono test su dispositivi mobili
I test dell’interfaccia utente e quindi sta selezionando la mia app
qui andare a Copenaghen mia guida per
Android sta selezionando una chiave qui che è
riferendosi a quali dispositivi voglio
prova su poi devo dargli un APK
file in modo che sviluppi l’app per Android e basta
chiamato è la strada sbagliata scegliere
così è fonte
scusa, è molto lento
sai che il mio completamento non funziona
va bene incolliamo in questo di solito basta toccare
completo non so perché non lo faccia
che ora è un maiale nel mio file apk e poi
Imposterò il percorso per la directory creata
che è normale la mia guida oh questa auto
completamento è davvero mi sta uccidendo voi
non so quanto ne hai bisogno fino a quando
ti rendi conto che non è lì è come
respirando, immagino che il mio modo di guidare sia mio
guida utente mette alla prova directory bin mi limiterò a
usa le debug di fatture quindi questo è il percorso I
voglio che questo è dove sono i miei test compilati
quindi ora sto dicendo che per favore esegui il
test sui dispositivi che ho scelto con questo
applicazione che ho costruito con questi test
che ho costruito e ho appena premuto invio per farlo
questo e lo stesso preparando i tuoi test e
sta creando una nuova corsa di prova ed è così
caricamento dei file dell’applicazione e
che verrà eseguito in parallelo
attraverso questi dispositivi nella nuvola così io
potrebbe prendere questa linea e io posso collegarla
nel mio sistema di CI e questo mi porta a
tipo dell’ultimo pezzo di questo così una volta
questo è fatto ci vorrà un po ‘
mentre per eseguire effettivamente questo test circa
20-30 minuti ma una volta che hai fatto questo
ottenere un rapporto di prova che essenzialmente
enumera tutti questi test che sto per fare
tuffati in uno di loro e qui tu
guarda i risultati del test così quando è così
correndo su tutti questi dispositivi vedi il nostro
Dispositivo Android 8 con pixel di Google qui e
puoi vedere qui ogni volta che l’ho fatto
l’app che comando screenshot è
andando a generare uno screenshot e
inseriscilo in questo rapporto di prova e io
può passare attraverso questo rapporto e vedere
ciò che l’applicazione sembrava a questo
in particolare, ne traccia anche alcuni
dati di prestazioni quanta memoria CPU sono
Io uso e abbiamo anche questo
funzione sperimentale dove è possibile
abilita il tipo di riproduzione video di come
il test sta eseguendo ciò che fa
sembra davvero una specie di inclusione
animazioni che stavo seguendo attraverso quelle
schermi è abbastanza basso riposo, ma è
fornendo ancora un sacco di valore se
c’è un fallimento che possiamo semplicemente scaricare
il video puoi saltare nelle serrature
è possibile ottenere l’aspetto del dispositivo ADB a voi
ottenere traccia di stack se c’è un errore e
è possibile ottenere i registri dalla morsa di prova
così puoi andare e fare il debug di questo se c’è
un fallimento tutto bene quindi il pezzo finale
Sto esaurendo leggermente il tempo qui
ma voglio mostrarti il ​​pieno
storia end-to-end quindi ricorda che lo ero
parlando di questo ciclo interiore di make a
cambia compilare la tua applicazione esegui il tuo
test distribuire i test al manuale
gli utenti è l’ultima cosa che voglio
mostrarti
quindi ho pre-configurato questo per iOS così
è la stessa app che ti stavo mostrando
Entrerò nella build e tu
ricorda all’inizio di questo discorso
dove ho detto che non posso andare in un laboratorio
più codice che stavo spingendo a
cambiati e ti ricordi cosa ha fatto
quello stava cambiando la tonalità di quel bar
al nero e mentre stavo parlando
il resto di questo discorso che in realtà
Ho compilato il mio cambiamento nel cloud su un Mac
e ha dato il via ai test che avremmo potuto scorrere
in basso quindi l’output della build è abbastanza
verbose qui, quindi cercherò semplicemente
nella prossima sezione passiamo
che qui si sta compilando che sta copiando, in
l’app compilata e ecco qualcosa
chiamato uno script di post build, quindi è così
in sostanza ho sceneggiato il mio
controllo del codice sorgente e prendo il comando I
ti ha mostrato prima che si sta innescando
i test all’interno del servizio di test I
incollalo nello script di post-build
il che significa che ora sto integrando
questo test con il mio sistema di build quindi dopo
Ho fatto il cambiamento e la costruzione è stata fatta
ha iniziato a eseguire quella fattura dell’app
su un iPhone 6 in esecuzione dieci tre tre
e iPhone sette con iOS 1101 in esecuzione
l’ultimo e un iPhone che stai correndo
tendono a farlo in parallelo con i test
passato possiamo andare a vedere che
è proprio qui e ora dovresti vedere
che ha questo schermo nero giusto
perché ho fatto quel cambiamento era blu
prima prendiamo di nuovo il cursore
possiamo esaminare questi risultati e
vedi qui sul dispositivo I was 11 that
ha la barra nera che ha cambiato quella di me
fatto all’inizio così entro il 30
minuti ho fatto un test testato su
iPhone reali e un’altra cosa
lo ho distribuito agli utenti quindi ho creato a
gruppo di distribuzione di beta tester e
una volta terminato il test, lo sarebbe stato
manda una mail a quei tester così posso
in realtà ti mostro questo qui perché io ho
sistemarmi come uno di questi tester
a condizione che il mio Wi-Fi funzioni, va bene
scusa va bene perché non voglio
mostra la mia email personale sì, è tutto
ha bisogno di accedere nuovamente dispiace solo sec
continuare con il segno di ok così ora io
dovrebbe essere collegato per assicurarsi che ci sia
no si c’è un sacco di personale
cose così ora ti faccio vedere così ho capito
questa e-mail dal mittente mobile a
prodotto e mi sta dicendo che era un
nuova versione disponibile clicco su
per vedere i dettagli e sta dicendo okay
ecco quello ed è vedere il mio impegno
messaggio che ho messo nell’ambasciata li-an
scusa nel terminale
questo è solo il default diventa la versione
note di questo cambiamento solo andando a colpire
installa e lo approverò
installare e sta dicendo tornare al
schermata iniziale e vedi ora sta tirando
giù quell’aggiornamento quindi in un minuto in cui
che viene scaricato a seconda del Wi-Fi
la qualità dovrebbe essere come una beta manuale
tester dovrei essere in grado di testare questo
cambiamento che ho fatto all’inizio con
lo schermo nero che non è terribilmente
difficile da cambiare mi è dispiaciuto testare così io
non so se voi ragazzi avete visto che c’era un
piccolo pop-up che ha detto qualcosa
hockey app così
quanti qui dentro si succhia si sì sì a
poche persone è un servizio che fa parte
di questo quindi cosa ti sto mostrando adesso
può pensarlo come la prossima generazione
di hockey app un servizio integrato
dove abbiamo anche costruito abbiamo anche noi
la prossima generazione di qualcosa chiamato
Samer e test cloud che il prodotto
Ho lavorato al tuo servizio di costruzione
e testare app per cloud e hockey e poi
analisi e notifiche push siamo
cercando di inserire tutti questi servizi
un prodotto integrato, tuttavia è possibile
usa solo i servizi che desideri
non devi sceglierli tutti se tu
voglio solo usare la nuvola di test ma tu
vuole configurarlo con il proprio Jenkins
sistema di costruzione che puoi fare se solo
voglio usare il pezzo di costruzione che non hai
vuoi il pezzo di prova che potresti fare se
vuoi solo l’ analisi puoi farlo
quindi stiamo cercando di costruirlo come
cose indipendenti che si connettono anche
insieme davvero bene ok fammi solo test
l’ultima cosa prima di noi
domande e in effetti dovremmo avere
schermo nero in basso, ecco fatto
grazie mille per l’ascolto e lasciami
solo mostrarti la diapositiva finale solo per
ti ricordo di cosa stiamo parlando
oops
qui così mito del ciclo di tempo di recensione di App Store
arrestato che non ti sta fermando ragazzi
creare Jenkins e passare il tempo
che è più veloce non fermarti
ragazzi potete averlo come servizio in
cloud ora ovviamente siamo un servizio
sono anche servizi concorrenti che provano
per fare questo il pezzo di prova della nuvola si ferma
facendo questo ciclo di regressione lungo manuale
di test cercare di automatizzare il più
puoi e entrare in automatico
test di regressione e quindi mantenere il
luce del pezzo manuale e con quella versione
più spesso pensi di fare un passo avanti
il diritto qui in questa freccia è possibile
iscriviti a akms slash Mobile Center e
ora posso prendere domande e per favore
ricorda di valutare la sessione usando il
app così hai qualche domanda si noi
avere un paio di domande prima
Prenderò il suo potrebbe io con il centro mobile
creare un set con una combinazione di
ospitato e
i dispositivi promessi hanno ospitato un locale
dispositivi in modo che tu possa essere in grado di fare il
a seguire
quindi saresti in grado di dire di avere
la tua macchina Jenkins ospitata e te
connetti dire alcuni dispositivi a questo oa te
eseguire test simulato sul proprio hosted
impostare e poi una volta che hai fatto
potrebbe combinarlo ed eseguire ulteriori
prova nella nuvola di test se fatta
senso si può ottenere in questo senso si
non è possibile eseguire i test localmente e in tali
dubbio allo stesso tempo ci saranno due
lavori separati so chi chiede il
domanda, ma mi auguro che esso risponde
che dire del feedback degli utenti nel bug
segnalazione del feedback degli utenti e parcheggio
i rapporti sono funzionalità che sono in
hockey app abbiamo il feedback degli utenti
venendo e abbiamo l’ integrazione al bug
sistema di tracciamento in arrivo anche all’interno del
sistema sì e tu puoi venire a parlare
per me
per quanto riguarda il carico testare l’app prima
rilasciandolo sì e non è costruito per
caricare il test è costruito per la regressione
testando anche se ho certamente visto
la gente lo usa per il test di carico, basta girare
un sacco di dispositivi e tipo di
innescare che i servizi di back-end come
che non penso sia il più
modo efficace per fare carico di metterti alla prova
non è necessario installare effettivamente l’app
su un dispositivo per fare quelle prove come
che quindi non è così che è il test di carico
del back – end in te potrebbe anche fare
lo stress test dell’interfaccia utente è possibile
certamente farlo con un automatizzato
script e quindi traccia è l’applicazione
il crollo dei rifiuti sta consumando troppo
memoria in modo che tu possa fare grandi ringraziamenti
ti va molto bene, grazie
scendere e si come Carl un po ‘
domande che non sono state chieste grazie
tu
[Applausi]

Please follow and like us: