tirsdag den 3. maj 2016

STAReast 2016 - Tirsdagens Oplevelser

Så er jeg kommet igennem anden dagen af STAReast 2016, og dermed også de sidste 2 tutorials i denne omgang. Generelt vil jeg sige, at niveauet er højt, og dermed er der også et klart udbytte.

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:

  1. Static Code Analysis
  2. Finding White-Box Data Computation Bugs
  3. White-Box Structural Logic Flow Coverage
  4. Finding Hardware-System Unhandled Uses in Software
  5. HW-SW and SW-HW Signal Interface Bugs
  6. Long Duration Control Attack Runs
  7. Breaking Software Logic and/or Control Laws
  8. Forcing the Unusual Bug Cases
  9. Breaking Software with Hardware and System Operations, including Breaking Battery Power
  10. Finding Bugs in Hardware-Software Communications
  11. Breaking Software Error Recovery
  12. Interface and Integration Testing, including Configuration Integration Evaluation
  13. Finding Problems in Software-System Fault Tolerance
  14. Breaking Digital Software Communications
  15. Finding Bugs in the Data
  16. Bugs in System-Software Computation
  17. Using Simulation and Stimulation to Drive Software Attacks
  18. Bugs in Timing Interrupts and Priority Inversion
  19. Finding Time Related Bugs
  20. Time Related Scenarios, Stories and Tours
  21. Performance Testing Introduction
  22. Finding Supporting (User) Documentation Problems, including Confirming Installability
  23. Finding Missing or Wrong Alarms
  24. Finding Bugs in Help Files
  25. Finding Bugs in Apps
  26. Testing Mobile and Embedded Games
  27. Attacking App-Cloud Dependencies
  28. Penetration Attack Test, including Authentication and Password Attack and Attack Fuzz Test
  29. Information Theft - Stealing Device Data, including Identity Social Engineering
  30. Spoofing Attacks, including Location and/or User Profile Spoof Attack and GPS Spoof Attack
  31. Attacking Viruses on the Run in Factories
  32. Using Combinatorial Tests
  33. 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. 

2 kommentarer:

  1. Spændende emne - DevOps. Godt med at få at vide hvad det ikke er.

    SvarSlet
  2. Enig. Selvom det altid er mest interessant at få et emne defineret positivt fremfor negativt. Men det hjælper nogle gange.

    SvarSlet