Black box- testning eller beteendetestning är en strategi (metod) för att testa ett objekts (program, system) funktionella beteende ur den yttre världens synvinkel, som inte använder kunskap om objektets interna struktur (kod) bli prövad. Black box-testning görs med andra ord av testare som inte har tillgång till applikationens källkod. Strategi avser de systematiska metoderna för att välja och skapa tester för en testuppsättning. Beteendeteststrategin kommer från de tekniska kraven och deras specifikationer [1] .
En "svart låda" förstås som ett studieobjekt, vars inre struktur är okänd. Konceptet "svart låda" föreslogs av W. R. Ashby . Inom kybernetik tillåter det en att studera systemens beteende, det vill säga deras reaktioner på olika yttre påverkan, och samtidigt abstrahera från deras interna struktur.
Genom att manipulera enbart med input och output kan vissa studier utföras. I praktiken uppstår alltid frågan i vilken utsträckning den "svarta" lådans homomorfism återspeglar lämpligheten hos dess studerade modell, det vill säga hur fullständigt originalets grundläggande egenskaper återspeglas i modellen.
Beskrivningen av vilket kontrollsystem som helst i tiden kännetecknas av en bild av sekvensen av dess tillstånd i processen att röra sig mot målet som det står inför. Transformationen i styrsystemet kan vara antingen en-till-en och då kallas den isomorf, eller bara en-till-en, i en riktning. I det här fallet kallas transformationen homomorf.
Den "svarta" lådan är en komplex homomorf modell av ett cybernetiskt system där mångfald respekteras. Det är först då en tillfredsställande modell av systemet när det innehåller en sådan mängd information som speglar systemets mångfald. Det kan antas att ju fler störningar som verkar på systemmodellens ingångar, desto större mångfald bör styrenheten ha.
Två typer av "svarta" lådor är för närvarande kända. Den första typen inkluderar vilken "svart" ruta som helst, som kan betraktas som en automat , kallad finit eller oändlig. Beteendet hos sådana "svarta" lådor är känt. Den andra typen inkluderar sådana "svarta" lådor, vars beteende endast kan observeras i ett experiment. I detta fall, i en explicit eller implicit form, uttrycks en hypotes om förutsägbarheten av beteendet hos den "svarta" lådan i en probabilistisk mening. Utan en preliminär hypotes är all generalisering omöjlig, eller, som de säger, det är omöjligt att dra en induktiv slutsats baserad på experiment med black box. N. Wiener föreslog konceptet med en "vit" ruta för att beteckna den "svarta" boxmodellen. Den "vita" rutan består av kända komponenter, dvs kända X, Y, δ, λ. Dess innehåll är speciellt valt för att implementera samma utgång-ingångsberoende som motsvarande "svarta" låda. I processen med pågående forskning och generaliseringar, hypoteser och upprättande av mönster, blir det nödvändigt att justera organisationen av den "vita" rutan och ändra modeller. I detta avseende, vid modellering, måste forskaren upprepade gånger hänvisa till schemat för "svart" - "vit" ruta.
Låt oss överväga hur beteendet hos den "svarta" lådan av det andra slaget studeras och undersöks. Låt oss anta att vi får något kontrollsystem, vars interna struktur är okänd. Styrsystemet har ingångar och utgångar .
Sättet att studera beteendet hos denna "svarta" låda är att utföra ett experiment, vars resultat kan presenteras i form av en tabell. ett.
Denna metod för att studera den "svarta" lådan kallas protokoll. Värdena på de ingående kvantiteterna kan ibland väljas godtyckligt.
bord 1
Ingångsstatus | Utgångsstatus | Tid |
---|---|---|
............ | ............ | .... |
............ | ............ | .... |
Ett annat sätt att utforska är att mata in några standardsekvenser till ingångarna. Denna metod är särskilt attraktiv eftersom den låter dig jämföra beteendet hos flera "svarta" lådor med villkoret att välja de som uppfyller kraven.
Studiet av styrsystem är förknippat med begreppen " probabilistisk automat ", "probabilistiskt system", vilket kräver studier av deras probabilistiska egenskaper. För dessa ändamål kan du bygga en sannolikhetsmatris (tabell 2), i vilken för varje ingång och varje utdata den villkorade sannolikheten anges , vilket inträffar som svar på [7] som ges i tabellen. 2.
Utvecklingen av metoder för att konstruera matematiska modeller av den "svarta" lådan är ett av de viktiga cybernetiska problemen. Förutsatt att det finns en matematisk modell av den "svarta" lådan, blir det möjligt att tillskriva den till vilken klass som helst, vars alla system är isomorfa i beteende.
Att skapa en matematisk beskrivning av den "svarta" lådan är en slags konst. I vissa fall är det möjligt att bilda en algoritm, enligt vilken den "svarta" rutan svarar på en godtycklig insignal. För de flesta fall görs dock försök att upprätta differentialekvationer som relaterar reaktionen från den "svarta" lådan till dess ingångar, eller, som man säger, till dess ingångsstimuli.
För vetenskapen är metoden "svarta lådan" av stor betydelse. Med hans hjälp gjordes många enastående upptäckter inom vetenskapen. Till exempel förutspådde vetenskapsmannen Harvey hjärtats struktur redan på 1600-talet. Han modellerade hjärtats arbete med en pump och lånade idéer från ett helt annat område av samtida kunskap - hydraulik. Det praktiska värdet av "black box"-metoden ligger för det första i möjligheten att studera mycket komplexa dynamiska system, och för det andra i möjligheten att ersätta en "box" med en annan. Den omgivande verkligheten och biologin ger många exempel på att avslöja systemstrukturen med hjälp av den "svarta" lådan-metoden.
I den här metoden behandlas programmet som en svart låda . Syftet med testningen är att ta reda på under vilka omständigheter programmets beteende inte överensstämmer med specifikationen . För att upptäcka alla fel i programmet är det nödvändigt att utföra uttömmande testning , det vill säga testning på alla typer av datamängder . För de flesta program är detta inte möjligt, så rimliga tester används , där testning av programmet är begränsad till en liten delmängd av möjliga datamängder. I det här fallet är det nödvändigt att välja de mest lämpliga delmängderna, delmängderna med högst sannolikhet att upptäcka fel.
Låt oss ta en närmare titt på var och en av dessa metoder:
Motsvarande partitionMetoden bygger på två principer:
Utvecklingen av tester med denna metod utförs i två steg : valet av ekvivalensklasser och konstruktionen av testet.
Ekvivalensklasser särskiljs genom att välja varje ingångsvillkor, som är hämtat från referensvillkoren eller specifikationen och uppdelat i två eller flera grupper. Följande tabell används för detta:
Ingångsvillkor | Korrekt ekvivalensklasser | Fel ekvivalensklasser |
' | ' | ' |
Valet av ekvivalensklasser är ett heuristiskt sätt, men det finns ett antal regler:
Definition av tester:
Randvillkor är situationer som uppstår vid de övre och nedre gränserna för ingångsekvivalensklasserna.
Gränsvärdesanalys skiljer sig från motsvarande partitionering på följande sätt:
Metoden kräver en viss grad av kreativitet och specialisering i uppgiften.
Det finns flera regler:
Gränsvärdesanalys kan, om den tillämpas på rätt sätt, upptäcka ett stort antal fel. Men att definiera dessa gränser för varje uppgift kan vara en separat svår uppgift. Den här metoden kontrollerar inte heller kombinationer av ingångsvärden.
Orsak-och-verkan analysTestbyggnadssteg:
Tabellen är kommenterad med begränsningar och beskrivningar av kombinationer som inte är möjliga. Nackdelen med detta tillvägagångssätt är den dåliga studien av randvillkor.
Gissa felEn testare med mycket erfarenhet hittar fel utan några metoder, men samtidigt använder han sig av undermedvetet metoden att gissa felet. Denna metod bygger till stor del på intuition. Huvudtanken med metoden är att göra en lista som listar möjliga fel och situationer där dessa fel kan uppstå. Sedan, baserat på listan, sammanställs tester.