Boken Software Testing Foundations
Jag läste just igenom Software Testing Foundations: A Study Guide for the Certified Tester Exam från Rockynook Computing av Andreas Spillner, Tilo Linz och Hans Schaefer. ISBN 9781933952789. På Adlibris kostar den just nu 230 kr (se [1]) och på Amazon ligger den på 32$ (se [2]).
Överblick
Boken ska vara en studieguide till Istqb Foundation Certified Tester Foundation Level (se mer på [3]) och den säger sig vara ISTQB compliant. Jag läste just lite recensioner på Amazon om boken och där påpekar en vän av ordning att den inte är så bra som studie guide och att ISTQB compatible hade varit en bättre formulering. Jag kan bara hålla med - jag tror inte boken skulle räcka hela vägen till en ISTQB-certifiering för mig. Det finns visserligen en hel uppsättning frågor i slutet - ordnade enligt kapitlen i boken, men det skulle krävas mycket disciplin eller någon som håller mig hårt i handen för att jag skulle svara på frågorna tillräckligt organiserat.
Det som är bra med boken är att den täcker det CTFL täcker - och varför är det bra då? Jo, man kan se CTFL som ett slags kvalitetsstämpel på en testare, och CTFL täcker begrepp från statisk kod-analys och dynamiska tester till hur man kan prioritera test-täckning i sin test plan. Man får med andra ord en stabil bas och en bra begreppsbild inom "nästan hela" området mjukvarutest.
Nästa nivå - ISTQB Advanced - har tre certifieringar, varav den som testledare täcks av Boken Advanced Software Testing som skrivits av Rex Black.
Indelning i 6 områden
Boken är ganska logiskt indelad i en introduktion, 6 riktiga kapitel och 3 appendix. Fokus ligger på begrepp och ett pedagogiskt exempel följer boken från start. Mot slutet kommer även en omfattande ordlista på mer än 30 sidor med begrepp från abstract test case till white box testing.
Examinationen CTFL har en väl definierad kursplan och det känns därför som att boken är ganska komplett, men den går inte in för mycket på djupet. Ska man jobba med till exempel enbart statisk kodanalys räcker det kapitlet till att ge en bra start - men man behöver garanterat komplettera sina kunskaper en hel del. Om man som jag mest tittat på statisk kodanalys i samband med annat (se till exempel One Does Not Simply Document Code) får man lära sig en hel del nyttigheter - till exempel olika metoder för att mäta code coverage (Wikipedias artikel om code coverage: [4]).
Kapitlen är:
- Introduction
- Fundamentals of testing
- Testing in the Software Lifecycle
- Static Testing
- Dynamic Analysis - Test Design Techniques
- Test Management
- Test Tools
- Test Plan According to IEEE Standard 829-1998
- Important Information on the Curriculum and on the Certified Tester Exam
- Exercies
- Glossary
Jag listar här en del begrepp som jag tyckte var lite extra intressanta med en hel del länkar till Wikipedia. Jag har även många fall försökt illustrera bokens struktur. En bra start för att få koll på mjukvarutester är Wikipedias artikel om mjukvarutest: [5]
Fundamentals of testing
Viktiga begrepp med länkar till wikipedia:
- krav, requirement [6]
- buggar, bugs [7]
- kvalitet, quality [8]
- det är dyrt med buggar, faults can cause high costs [9]
- spårbarhet, traceability [10]
- reproducerbarhet, reproducibility [11]
- avlustningskriteria, exit criteria [12]
- felintensitet, failure rate [13]
- psykologin i testing, the psychology of testing
- generella principer, general principles of testing. En sammanfattning:
- Testing shows the presence of defects, not their absense.
- Exhaustive testing is not possible.
- Testing activities should start as early as possible.
- Defects tend to cluster together
- The pesticide paradox.
- Test is context dependent
- en testares etik, testing ethics
Testing in the Software Lifecycle
- Software life cycle [14]
- v-modellen, the General V-Model, [15]
- systems design [21]
- test strategy [22]
- white box test [23]
- test driven development [24]
- test environment
- acceptance criteria, user acceptance, operational acceptance
- software maintenance: [25]
- testing in incremental development: [26]
- functional testing: [27]
- non-functional testing: [28]
- testing software structure/white box testing: [29]
- testing related to change/regression testing: [30]
Static Testing
- Ett långt stycke illustrerar olika typer av och metoder för granskning. En aha-upplevelse för mig är att granskning är ganska enkelt - se exempel Metod För Formell Granskning - och har bra ROI [31]
- Static program analysis [38]
Dynamic Analysis - Test Design Techniques
- black box testing techniques
- white box testing techniques
- statement testing and coverage [47]
- decision/branch testing and coverage
- test of conditions
- intuitive and experience based tesing
Test Management
Se också Wikipedias artikel om test management: [52]
- roller: test manager, test designer, test automator, test administrator, tester
- test plan [53]
- quality assurance [54]
- IEEE 829 Standard for Software and System Test Documentation [55]
- prioritizing tests (usage frequency, failure probability, risk, visibility, priority, quality characteristic, complexity, project risk)
- test entry and exit criteria
- cost
- defect cost
- defect correction cost
- cost of testing
- test strategy [56]
- test activity management
- test report
- incident management [59] or issue tracker [60]
- configuration management [61] and revision control [62]
- relevant standards
Test Tools
- Types of tools
- selection of tools
- introduction of tools
- cost-benefit of tools
Sammanfattning
Jag gillade verkligen Software Testing Foundations: A Study Guide for the Certified Tester Exam. Den känns ganska heltäckande, går lagom mycket in på djupet och lyckas hålla sig på under 300 sidor. Jag lärde mig en hel del - speciellt inom de områden som jag inte hade så mycket koll på sedan förut, till exempel inom test management och att granskning är bra och billigt; och att det är bra att strukturera upp en granskning.
Vill man använda boken som enda källa inför en CTFL-tenta tror jag man måste komplettera med annat material och verkligen gå in på djupet med instuderingsfrågorna.
Se också Istqb Foundation Certified Tester Foundation Level
Se också Boken Advanced Software Testing
Se också Boken Agile Testing
Se också Boken Requirements Engineering Fundamentals
Tillhör Kategori Mjukvara
Tillhör Kategori Test
Tillhör Kategori Boktips