Tirsdagens program for mig var de 2 halvdags tutorials jeg valgte forud for konferencen - om formiddagen 'Test Attacks to Break Mobile and Embedded Software' og om eftermiddagen 'What DevOps Means for Testers - Tips for Getting Testers Involved'.
Oplægsholderen til formiddagens tutorial 'Test Attacks to Break Mobile and Embedded Software' - Jon Hagar - lagde ud med at det var en AKTIV tutorial, hvor der skulle fremlægges testmetoder og diskuteres disse, men der skulle også TESTES. Selv lagde han ud med en App på sin mobil der styrede PC'en - og dermed også slideshowet. Så vi overværede testen af denne, og det blev klart at der var både funktionelle og performance issues. Det var en oplevelse, og jeg tror nok, at hvis det havde været mig havde jeg hurtigt gået over til fall-back proceduren, og taget min Logitech Presenter i anvendelse.
Hans udgangspunkt var risiko-baseret test, og det fremgik klart, at han havde forstået konceptet, og opdelingen i de forskellige risikotyper, og han var også en fortaler for den 'nye' internationale teststandard ISO 29119 - det er ikke ofte jeg hører nogen omtale den positivt.
Han lagde ud med en hurtig til området, herunder de forskellige typer af Mobile Apps: Native Apps, Web Apps og Hybrid Apps. Det virkede som en god ting i forhold til forståelsen af nogle af de efterfølgende områder og emner. Native Apps fungerer lokalt på Devicen. Web Apps fungerer alene ved interaktioner via nettet. Hybrid Apps er så både-og.
Det testmæssige udgangspunkt var Exploratory Testing, Attacks og Taxonomy. Det var ikke så meget et enten-eller, men mere et både-og. Det blev også nævnt anvendelsen af de formelle testteknikker som en integreret del at Exploratory Testing og Attacks.
Jon Hagar har opstillet følgende Attacks - jeg har valgt ikke at oversætte disse for at sikre, at der ikke går noget tabt:
- Static Code Analysis
- Finding White-Box Data Computation Bugs
- White-Box Structural Logic Flow Coverage
- Finding Hardware-System Unhandled Uses in Software
- HW-SW and SW-HW Signal Interface Bugs
- Long Duration Control Attack Runs
- Breaking Software Logic and/or Control Laws
- Forcing the Unusual Bug Cases
- Breaking Software with Hardware and System Operations, including Breaking Battery Power
- Finding Bugs in Hardware-Software Communications
- Breaking Software Error Recovery
- Interface and Integration Testing, including Configuration Integration Evaluation
- Finding Problems in Software-System Fault Tolerance
- Breaking Digital Software Communications
- Finding Bugs in the Data
- Bugs in System-Software Computation
- Using Simulation and Stimulation to Drive Software Attacks
- Bugs in Timing Interrupts and Priority Inversion
- Finding Time Related Bugs
- Time Related Scenarios, Stories and Tours
- Performance Testing Introduction
- Finding Supporting (User) Documentation Problems, including Confirming Installability
- Finding Missing or Wrong Alarms
- Finding Bugs in Help Files
- Finding Bugs in Apps
- Testing Mobile and Embedded Games
- Attacking App-Cloud Dependencies
- Penetration Attack Test, including Authentication and Password Attack and Attack Fuzz Test
- Information Theft - Stealing Device Data, including Identity Social Engineering
- Spoofing Attacks, including Location and/or User Profile Spoof Attack and GPS Spoof Attack
- Attacking Viruses on the Run in Factories
- Using Combinatorial Tests
- Attacking Functional Bugs
En utrolig spændende og anvendelig oplistning af mulige Attacks. De fleste af disse Attacks skal selvfølgelig altid tænkes ind i den konkrete kontekst, herunder også det fokus som den risiko-baserede testtilgang viser.
Tirsdagens anden tutorial var 'What DevOps Means for Testers - Tips for Getting Testers Involved' - med Jeffery Payne - og mit mål var bl.a. at prøve at få en dybere indsigt i begrebet DevOps.
Indledningsvis blev der opstillet en generel definition af DevOps - har valgt at beholde det skrevne uden oversættelse:
- DevOps is a software development method that stresses communication, collaboration and integration between software developers, QA and information technology professionals
- DevOps it not a tool
- DevOps is not a methodology
- DevOps is a philosophy for how people interact within the software development supply chain
Når jeg kigger på denne definition kommer jeg umiddelbart til at tænke på 'accelereret agil'. Hele ideen med DevOps synes jeg er spændende, idet man her forsøger at komme den klassiske konflikt til livs. Med den klassiske konflikt mener jeg de forskellige synspunkter der er mellem UDVIKLING og DRIFT, hvor udvikling hele tiden har behov for at implementere ændringer og driften er bange for ændringer, da det kan udfordre deres mål - stabilitet, tilgængelighed, oppetid m.m.
Det var en god tutorial i forhold til at forstå konceptet DevOps med begreber som Build Automation, Continuous Integration, Check-In Builds, Nightly Builds, Continuous Delivery and Continuous Deployment - men det kneb lidt med tips til at få testerne involveret.
Men igen - alt i alt - en god dag her i Orlando til STAReast-konferencen.
Spændende emne - DevOps. Godt med at få at vide hvad det ikke er.
SvarSletEnig. Selvom det altid er mest interessant at få et emne defineret positivt fremfor negativt. Men det hjælper nogle gange.
SvarSlet