Det svenska testundret

Om man söker efter ”det svenska undret” i en känd sökmotor, kan man läsa om de perioder i svensk historia som kännetecknats av en snabb samhällelig och ekonomisk utveckling. Den första av dessa perioder inföll under 1800-talets senare decennier, då freden, vaccinet och potäterna banade vägen för stora framsteg inom industrin och vetenskapen. Den utvecklingen fortsatte sedan en bra bit in på 1900-talet. Det var under den här tiden som Alfa Laval, Asea, LKAB och LM Ericsson började växa sig stora och hjälpte till att sätta Sverige på världskartan som industrination.

Det svenska undret fortsatte under perioder under hela 1900-talet. Nyutvecklingar och innovationer på flera områden bidrog till att göra Sverige världskänt. När jag talar om det svenska undret tänker du kanske på

- musikundret (ABBA, Ace of Base, Robyn m fl),
- modeundret (Acne, Whyred, Filippa K, m fl),
- tennisundret (Björn Borg, Mats Wilander, Anders Järryd m fl),
- deckarundret (Sjöwall/Wahlöö, Henning Mankell, Stieg Larsson m fl),
- IT-undret (MySQL, Spotify, Skype m fl).

Listan fortsätter med golf-, kör- och app-under och så vidare, men du förstår principen. För ett land med blygsamma 9,5 miljoner invånare kan Sverige skryta med anmärkningsvärt många framgångshistorier.
I dag vill jag lyfta fram ytterligare en: det svenska testundret.

Om du läser det här inlägget på en dator eller mobil enhet med internetuppkoppling, så vill jag be dig att gå till din favoritsökmotor och knappa in ”software testing in Sweden”. Du kommer att få en hel massa länkar till föreningar, företag, organisationer, utbildningar, kurser, konferenser, produkter och naturligtvis många professionalla yrkesutövare. Alla representerar de den stora bredden inom kravhantering och programvarutestning som finns i Sverige i dag.

Låt oss titta närmare på vad ”lilla Sverige” faktiskt har att erbjuda:

Föreningar och communities

- SAST (Swedish Association for Software Testing) grundades 1995 som ett forum för yrkesverksamma programvarutestare. Sedan dess har verksamheten vuxit år för år och utökats med lokala föreningar som anordnar föreläsningar och seminarier.

TestZonen är ett obundet och ideellt forum för diskussion om test, krav, kvalitet och processer. De anordnar dessutom mingelträffar (meetups) och en årlig konferens.

LinkedIn finns flera svenska grupper för diskussioner om krav och test.         

Konferenser

Let’s Test är en konferens som har fokus på context-driven testing.


TestZonen anordnar varje år en konferens för sina skribenter. Den bygger i hög utsträckning på deltagarnas egna idéer och initiativ.

EuroSTAR-konferensen med Europas största fackmässa kommer att hållas i Sverige i år, närmare bestämt i Göteborg, den 4 - 7 november 2013.


NFI Testforum är en återkommande konferens om test och kvalitetssäkring.     


 Utbildningar


- Som läsare av Informator-bloggen känner du säkert redan till Informators utbud av kurser inom krav och test. I utbildningsstegen hittar du kurser som ger dig verktyg, metoder, processer och modeller för att arbeta smart med krav och test. Om du önskar kan du även certifiera dig inom ramen för REQB och ISTQB.

- Kommersiella utbildningar erbjuds också av en rad företag 

Flera yrkeshögskolor erbjuder hela utbildningar inom programvarutestning i bland annat Karlstad, Kungsbacka, Göteborg och Stockholm. 

Akademiska kurser inom programvarutestning finns bland annat vid högskolorna i Dalarna, Luleå och Växjö.

Litteratur


-   Test och kvalitetssäkring av IT-system, Ulf Eriksson
-   Kravhantering för IT-system, Ulf Eriksson
-   Testdesign för programvara, Torbjörn Ryber (finns även i engelsk utgåva)
-   Testledning, David Pers & Mikael Ölund
-   Tore Testledare, David Pers 


Listan skulle självfallet kunna göras mycket längre, men jag nöjer mig med detta. Jag tycker att de exempel som nämns är bra representanter för programvarutestning, så som den ser ut i Sverige i dag. Det som jag slås särskilt av är hur många engagerade testare som finns runt om i landet, och deras vilja att träffas, utbyta tankar och lära sig nya saker av varandra. Att utvecklas i sin yrkesroll – om det så innebär att man lägger några timmar av sin fritid – och att ha roligt samtidigt. Test är fest.  Inte många länder har en så aktiv och levande testarcommunity som den vi har.


Krav och test är områden som har utvecklats starkt de senaste tio – femton åren. Och framtiden ser fortsatt ljus ut. Allt fler företag har förstått att ett ordentligt krav- och testarbete är en förutsättning för att projekten ska lyckas. IT-systemen tenderar att bli alltmer komplexa, något som ställer högre krav på kompetens inom krav och test. Testarna hjälper till att tillföra nytta till sina verksamheter, och det hjälper i sin tur till att höja statusen på yrket.  Samtidigt blir det hela tiden bredare och mer specialiserade mot olika områden. Att arbeta med test kan till exempel innebära att vara testledare, teststrateg, testautomatiserare, testdesigner eller testmiljöansvarig. Valmöjligheterna är med andra ord goda för den som vill hitta sin egen nisch.

Vad brinner du för? Om svaret är krav eller test, så har du hamnat helt rätt. Hos Informator hittar du ett gäng kursledare som är stolta över att vara en del av det svenska testundret. Vi ger dig grunderna och hjälper dig att ta nästa steg i din testkarriär.



Freddy Gustavsson har arbetat med test och kvalitetssäkring av programvara sedan 2001.

Informator erbjuder flera spännande kurser inom Kravhantering och Testmetodik. Se alla våra kurser inom Krav och Test här

Auditability and V&V in the era of Machine Learning are worth a close review…

Developers, more often than architects, tend to get frustrated by declarative programming, because it boosts expressive power at the cost of less testability. Yet both the boost and the drop are a mild breeze compared to self-modifying and sub-symbolic Machine Learning (ML).

Reviews by humans
You can hardly get away without ML in today’s AI. It would be like a mainstream relational DB without SQL, or like a rule engine without declarative rules. And, you’ll run into auditability issues in all three, but they tend to be an order of magnitude bigger in “sub-symbolic” ML. It’s much easier to check whether the learning works accurately (a black-box test of a “black organism” ), than to see why or how. A clear-box view relates to the generated logic almost as loosely as an MRI-scan relates to what a patient is thinking.

Japanese industry robots started to assemble robots back in 2001. Today, robotics vendors offer complete lights-out manufacturing systems (in other sectors referred to as “no man in the loop” earlier). So, needless to say, auditability and reviews by humans are a key architectural issue. Be discrete precision manufacturing, avionics, automotive, power generation, medical equipment, or any other application where approval criteria (ISO etc.) are strict.

Decision-tree induction from data
 When the work of professor DonaldMichie (a distinguished codebreaker ahead of D-day) resulted in the first ML algorithms for rule mining and decision-tree induction from data, those were able to show the learnt-in logic as diagrams or rules, and even to generate conditional constructs in a mainstream programming language. This became particularly useful in the elicitation and processing of tacit knowledge (the implicit “knowwhy” underlying the explicit knowhow of a human).

Many IT roles are quite familiar with declarative rules, although in narrower contexts: In DB schemas (or UML models), the rules are typically about referential integrity along the lines of “on Delete cascade” in SQL DDL (see also the exclusive-or, {xor} , in the UML diagram). In design, rules are often invariants and preconditions/postconditions. In modeling, a UML state diagram defines visually the rules that govern event handling and state transitions. Etc.




A role model, UML pun intended, with an either-or referential integrity.
From Informator course AvanceradModellering, T2716 (structure-models chapter). 


Case Bases
The technology that followed in inductive ML (after decision-tree induction), Case Based Reasoning (CBR), was instance-based and used lazy generalization which expressed the induced commonalities (between cases in the learning-data set) only later, at test time. Although less explicit than decision trees or rules, this was still fairly comprehensible for humans to review.

Sub-symbolic “representation” of knowledge
However, the commercial breakthrough of self-modifying technologies, mainly neural networks and evolutionary algorithms, made audits both hot and tricky. In a neural network, the logic learnt during training is sub-symbolic, “packed” into weight values on connections and artificial neurons. Roughly speaking, a clear-box view relates to the generated logic almost as loosely as an EEG record relates to what a patient is thinking.

Therefore, many researchers argue that audit-related abilities of a subsymbolic-ML system, like reasoning about itself and meaningfully visualizing/animating/explaining its logic or its conclusions, improve greatly when its ML is combined with other (likely symbolic) AI techniques. If so, this is one of the rare cases in architecture where complexity and testability actually enhance each other rather than restrict.
     
Summing up
Architecture is not exempt from ML’s impact on AI, IT, and business processes. Although auditability was brought to the table already when robots started to assemble other robots, it is crucial today in all kinds of ML systems in a vast variety of applications and industry sectors.



Trainer at Informator, senior modeling and architecture consultant at Kiseldalen.com, Advanced UML2 Professional (OCUP cert level 3/3). Main author: UML Extra Light (Cambridge University Press) and Growing Modular (Springer).
Milan and Informator collaborate since 1996 on architecture, modelling, UML, requirements, analysis and design. In the next couple of months, you can meet him at Architecture ( T1101 , T1430, in English or Swedish) or Modeling courses ( T2715T2716 , mostly in Swedish).

Är kravhantering elefanten i rummet? Här är stegen för att komma igång.



Krav. Smaka på det ordet. Enligt Svenska Akademins Ordbok är krav:
  • Handlingen att kräva/fordra något av någon
  • Muntligt eller skriftligt framställd begäran att få en penningfordran betald

Krav kopplas inte sällan ihop med tunga och tråkiga dokument, gärna i kontraktsammanhang, som vid uppfyllnad levererar en belöning i form av en pengapåse. Krav ses därför ofta något nödvändigt ont för att få tag i den där hägrande pengapåsen.

Enligt mig handlar krav om innovation och kreativitet, att få ned en vision på papper så att alla inblandade kan delta i diskussionen kring visionen. Krav handlar om att skapa och realisera nya system som kan hjälpa, förbättra eller till och med revolutionera teknik så som vi ser den idag. Men dålig kravhantering kan lika lätt stjälpa och i stället orsaka skada, ekonomisk förlust, stagnation samt akut huvudvärk. Inte mindre än 56%* av alla projekt som aldrig når i mål fallerar till följd av otillräcklig kravhantering.

Krav känns helt enkelt inte särskilt sexigt. Området är stort, oöverskådligt, förknippat med många frågetecken och grå byråkrati. Krav är svårt, men behöver inte vara elefanten i rummet som ingen vill prata om. Så hur äter man då en elefant? En bit i taget! Här presenteras tre munsbitar att börja med:
  • Granska kraven
  • Rita ett kontextdiagram
  • Skapa mock-up:s

Att granska kraven för att öka deras kvalitet borde inte vara någon revolutionerande tanke, men är ett moment som av olika anledningar till exempel ekonomiska, tidsmässiga eller ren okunskap, hoppas över. Involvera kund, test, utveckling och slutanvändare tidigt för att säkerställa att alla är med på banan. Och att kraven är på banan.

I ett kontextdiagram identifieras i vilken miljö systemet kommer leva, samt systemets omfattning. Det blir snabbt tydligt hur lätt det är att missa vilka integrationspunkter eller användare ett system har eller vad som faktiskt ska utvecklas och ingå i projektet.

En bild säger mer än tusen ord och detta ska inte underskattas när det kommer till krav. Ett GUI blir genast betydligt mer överskådligt och greppbart om kraven kompletteras med enkla bilder som illustrerar disposition och flöden. Men mock-up:s behöver inte stanna vid endast GUI:n. Att ha något konkret att diskutera krav kring underlättar för kund som leverantör att med större exakthet identifiera fallgropar och missförstånd.

Om ovan smakade bra finns det många fler munsbitar att hämta i form av kurser inom kravhantering. Och jag kan lova – det är mycket mer spännande än det vid första anblicken verkar.

* Källa: J. Martin

// Karolina Mileros
Test Manager med specialistkompetens kravhantering


Informator erbjuder flera spännande kurser inom Kravhantering och Testmetodik. Se alla våra kurser inom Krav och Test här

Varför certifiera sig inom krav och test?

Varje dag lägger vi våra öden i händerna på mer eller mindre okända människor. Vi åker t.ex. buss, tunnelbana och tåg medan vissa tar flyget till mer avlägsna platser. Vi litar på att de personer som framför dessa fordon kan sitt arbete och besitter nödvändig kunskap och utbildning som krävs. I väldigt få fall inträffar något oönskat då dessa personer vet hur man skall tänka och agera i specifika situationer för att eliminera riskerna för icke önskvärda effekter. Det finns också mer privata situationer i våra liv då det krävs någon form av certifikat, t.ex. om man önskar följa med på en dykutflykt eller för att kunna visa att man kan hantera en kitesurfutrustning.

I vår profession ställs inte alltid samma krav på att vara certifierad även om det blir mer och mer vanligt. Det som dock efterfrågas är mjukvara och system med hög kvalitet. För att kunna leverera med hög kvalitet ställs det krav på att alla artefakter som produceras håller hög kvalitet och ingen kedja är starkare än dess svagaste länk. Även om alla delar av utvecklingsprocessen är viktiga spelar ändå kravhantering och testning speciella roller. Är kravbilden inte heltäckande eller om kraven inte håller tillräckligt hög kvalitet kommer detta att påverka hela utvecklingen. Detta oavsett om man arbetar enligt en rigid eller lättrörlig  utvecklingsprocess. Test i sin tur behöver vara med från början för att säkra kvaliteten genom hela utvecklingsprocessen för det går inte att testa in kvalitet i slutet av ett projekt.

Eftersom krav och test har sådana viktiga roller i ett projekt ställs indirekt också höga krav på de personer som arbetar med dessa bitar. Det krävs utbildning, kunskap och erfarenhet för att kunna ta sig an dessa arbetsuppgifter. Men hur kan man säkra att personerna som skall ingå i projektet besitter rätt kompetens? Ett första steg är att se till att de personer som skall arbeta med dessa bitar är utbildade och innehar de certifikat som speglar den kunskap de besitter. Men som nämnts tidigare säger inte certifikatet allt utan man måste praktisera sina färdigheter också för att det skall vara relevant. Man kan jämföra det med att även om man har ett flygcertifikat måste man ha ett visst antal flygtimmar varje år.

Det man också bör beakta är att det finns olika roller inom både krav och test som kräver olika mycket kunskap och erfarenhet. Därför gäller det att titta efter rätt nivå på certifikaten så kraven inte blir för höga. Inom krav (REQB) och test (ISTQB) finns olika certifieringsnivåer som man skulle kunna jämföra med, just det, olika typer av flygcertifikat.
  • Foundation – Det grundläggande certifikatet för att visa på att man besitter de basala kunskaper som krävs, dvs. grundläggande flygcertifikat för sportflyg.
  • Advanced – Visar på att man har mer djupgående kunskaper inom mer än ett eller flera specifika områden som t.ex. testledning, dvs. certifikat för passagerar- eller fraktflyg.
  • Expert – Besitter mycket djupgående kunskaper inom området och har dokumenterad erfarenhet av t.ex. processförbättring, dvs. man är redo att genomföra konst- och uppvisningsflyg.
Väljer du flyga med någon som har 10 000 flygtimmar men inget certifikat eller någon med betydligt färre timmar men som innehar certifikat för instrumentflygning? Valet är upp till dig! När tog du ett certifikat senast?

/Magnus C Ohlson
Quality Assurance Specialist
 
Test Line Manager

Informator erbjuder flera spännande kurser inom Kravhantering och Testmetodik. Se alla våra kurser inom Krav och Test här