what is software quality assurance
Hva er kvalitetssikring av programvare?
Kvalitetssikring av programvare (SQA) er en prosess som sikrer at alle programvaretekniske prosesser, metoder, aktiviteter og arbeidselementer overvåkes og overholder de definerte standardene. Disse definerte standardene kan være en eller en kombinasjon av lignende ISO 9000, CMMI-modell, ISO15504, etc.
hvordan passere matrise for å fungere i java
SQA inneholder alle programvareutviklingsprosesser som starter fra å definere krav til koding til utgivelse. Hovedmålet er å sikre kvalitet.
Hva du vil lære:
- Programvare for kvalitetssikring
- SQA-aktiviteter
- Kvalitetssikringsstandarder for programvare
- Elementer av kvalitetssikring av programvare
- SQA-teknikker
- Konklusjon
- Anbefalt lesing
Programvare for kvalitetssikring
Forkortet som SQAP, består programvarens kvalitetssikringsplan av prosedyrer, teknikker og verktøy som brukes for å sikre at et produkt eller en tjeneste samsvarer med kravene definert i SRS (spesifikasjon for programvarekrav).
Planen identifiserer SQA-ansvaret til et team, lister opp områdene som må gjennomgås og revideres. Den identifiserer også SQA-arbeidsproduktene.
SQA-plandokumentet består av avsnittene nedenfor:
- Formålsdel
- Referanseseksjon
- Avsnitt for administrasjon av programvarekonfigurasjon
- Avsnitt om problemrapportering og korrigerende tiltak
- Verktøy, teknologier og metoder
- Kodekontrollseksjon
- Register: Avdeling for innsamling, vedlikehold og oppbevaring
- Testmetodikk
SQA-aktiviteter
Nedenfor er listen over SQA-aktiviteter:
# 1) Opprette en SQA Management Plan:
Den fremste aktiviteten inkluderer å legge en riktig plan for hvordan SQA skal gjennomføres i prosjektet ditt.
Sammen med hvilken SQA-tilnærming du skal følge, hvilke ingeniøraktiviteter som skal gjennomføres, og det inkluderer også å sikre at du har en riktig talentmiks i teamet ditt.
# 2) Angi sjekkpunktene:
SQA-teamet setter opp forskjellige sjekkpunkter som de evaluerer kvaliteten på prosjektaktivitetene på hvert sjekkpunkt / prosjektstadium. Dette sikrer regelmessig kvalitetskontroll og arbeid etter timeplanen.
# 3) Bruk programvareteknikk:
Bruk av noen programvareteknikk hjelper en programvaredesigner med å oppnå spesifikasjoner av høy kvalitet. For å samle informasjon kan en designer bruke teknikker som intervjuer og FAST (funksjonell analyse systemteknikk).
Senere, basert på den innsamlede informasjonen, kan programvaredesigneren forberede prosjektestimeringen ved hjelp av teknikker som WBS (arbeidsnedbrytningsstruktur), SLOC (kildelinje med koder) og FP (funksjonelt punkt) estimering.
# 4) Gjennomføring av formelle tekniske anmeldelser:
En FTR er gjort for å evaluere prototypens kvalitet og design.
I denne prosessen gjennomføres et møte med det tekniske personalet for å diskutere om de faktiske kvalitetskravene til programvaren og designkvaliteten til prototypen. Denne aktiviteten hjelper til med å oppdage feil i den tidlige fasen av SDLC og reduserer omarbeid i senere faser.
# 5) Å ha en multiteststrategi:
Med multitestingsstrategi mener vi at man ikke skal stole på noen enkelt testtilnærming, i stedet bør flere typer testing utføres slik at programvareproduktet kan testes godt fra alle vinkler for å sikre bedre kvalitet.
# 6) Håndheve prosessoverholdelse:
Denne aktiviteten insisterer på behovet for prosessoverholdelse under programvareutviklingsprosessen. Utviklingsprosessen bør også holde seg til de definerte prosedyrene.
Denne aktiviteten er en blanding av to underaktiviteter som er forklart i detalj nedenfor:
(i) Produktvurdering:
database intervju spørsmål og svar pdf
Denne aktiviteten bekrefter at programvareproduktet oppfyller kravene som ble oppdaget i prosjektstyringsplanen. Det sikrer at de fastsatte standardene for prosjektet følges riktig.
(ii) Prosessovervåking:
Denne aktiviteten bekrefter om de riktige trinnene ble tatt under programvareutviklingen. Dette gjøres ved å matche de faktiske trinnene mot de dokumenterte trinnene.
# 7) Kontrollendring:
I denne aktiviteten bruker vi en blanding av manuelle prosedyrer og automatiserte verktøy for å ha en mekanisme for endringskontroll.
Ved å validere endringsforespørslene, evaluere endringens art og kontrollere endringseffekten, sikres det at programvarekvaliteten opprettholdes under utviklings- og vedlikeholdsfasene.
# 8) Mål endringseffekt:
Hvis det rapporteres om en feil av QA-teamet, retter det berørte teamet feilen.
Etter dette bør QA-teamet bestemme virkningen av endringen som er forårsaket av denne feilrettingen. De trenger å teste ikke bare om endringen har løst feilen, men også om endringen er kompatibel med hele prosjektet.
For dette formålet bruker vi programvarekvalitetsmålinger som gjør det mulig for ledere og utviklere å observere aktivitetene og de foreslåtte endringene fra begynnelsen til slutten av SDLC og iverksette korrigerende tiltak der det er nødvendig.
# 9) Utføre SQA-revisjoner:
SQA-tilsynet inspiserer hele den faktiske SDLC-prosessen etterfulgt av å sammenligne den med den etablerte prosessen.
Den sjekker også hva rapportert av teamet i statusrapportene faktisk ble utført eller ikke. Denne aktiviteten avslører også problemer med mislighold.
# 10) Opprettholde poster og rapporter:
Det er viktig å oppbevare den nødvendige dokumentasjonen knyttet til SQA og dele den nødvendige SQA-informasjonen med interessentene. Testresultatene, revisjonsresultatene, gjennomgangsrapportene, dokumentasjonen for endringsforespørsler osv. Bør oppbevares for fremtidig referanse.
# 11) Administrer gode forhold:
Det er faktisk veldig viktig å opprettholde harmoni mellom QA og utviklingsteamet.
Vi hører ofte at testere og utviklere ofte føler seg overlegne hverandre. Dette bør unngås, da det kan påvirke prosjektets samlede kvalitet.
Kvalitetssikringsstandarder for programvare
Generelt kan SQA kreve samsvar med en eller flere standarder.
Noen av de mest populære standardene blir diskutert nedenfor:
ISO 9000: Denne standarden er basert på syv kvalitetsledelsesprinsipper som hjelper organisasjonene med å sikre at deres produkter eller tjenester er tilpasset kundenes behov.
7 prinsipper i ISO 9000 er avbildet i bildet nedenfor:
CMMI nivå: CMMI står for Evne til modenhetsmodell Integrasjon . Denne modellen stammer fra programvareteknikk. Det kan brukes til å lede prosessforbedringer gjennom et prosjekt, avdeling eller en hel organisasjon.
5 CMMI-nivåer og deres egenskaper er beskrevet i bildet nedenfor:
En organisasjon blir vurdert og tildelt en modenhetsgrad (1-5) basert på typen vurdering.
Test Maturity Model integration (TMMi): Basert på CMMi, fokuserer denne modellen på modenhetsnivåer i kvalitetsstyring og testing av programvare.
5 TMMi-nivåer er avbildet i bildet nedenfor:
topp 10 gratis nedlastingssider for mp3
Når en organisasjon beveger seg på et høyere modenhetsnivå, oppnår den en høyere evne til å produsere produkter av høy kvalitet med færre mangler og oppfyller næringslivets krav.
Elementer av kvalitetssikring av programvare
Det er 10 viktige elementer i SQA som er oppført nedenfor for din referanse:
- Programvaretekniske standarder
- Tekniske gjennomganger og revisjoner
- Programvaretesting for kvalitetskontroll
- Feilsamling og analyse
- Endringsledelse
- Utdanningsprogrammer
- Leverandørledelse
- Sikkerhetsstyring
- Sikkerhet
- Risikostyring
SQA-teknikker
Det er flere teknikker for SQA. Revisjon er den viktigste teknikken som er allment vedtatt. Imidlertid har vi noen få andre viktige teknikker også.
Ulike SQA-teknikker inkluderer:
- Revisjon: Revisjon innebærer inspeksjon av arbeidsproduktene og tilhørende informasjon for å avgjøre om settet med standardprosesser ble fulgt eller ikke.
- Gjennomgang : Et møte der programvareproduktet blir undersøkt av både interne og eksterne interessenter for å søke kommentarer og godkjenning.
- Kodeinspeksjon: Det er den mest formelle gjennomgangen som gjør statisk testing for å finne feil og unngå mangelforvekst i de senere stadiene. Det gjøres av en utdannet megler / jevnaldrende og er basert på regler, sjekkliste, inn- og utgangskriterier. Anmelderen skal ikke være forfatter av koden.
- Designinspeksjon: Designinspeksjon gjøres ved hjelp av en sjekkliste som inspiserer områdene nedenfor for programvaredesign:
- Generelle krav og utforming
- Funksjonelle og grensesnitt spesifikasjoner
- Konvensjoner
- Kravsporbarhet
- Strukturer og grensesnitt
- Logikk
- Opptreden
- Feilhåndtering og gjenoppretting
- Testbarhet, utvidbarhet
- Kobling og samhold
- Simulering: Simulering er et verktøy som modellerer den virkelige situasjonen for praktisk talt å undersøke oppførselen til systemet som studeres.
- Funksjonell testing: Det er en QA-teknikk som verifiserer hva systemet gjør uten å vurdere hvordan det gjør. Denne typen black box testing fokuserer hovedsakelig på å teste systemspesifikasjonene eller funksjonene.
- Standardisering: Standardisering spiller en avgjørende rolle i kvalitetssikring. Det reduserer tvetydigheten og gjetningen, og sikrer dermed kvalitet.
- Statisk analyse: Det er en programvareanalyse som gjøres av et automatisert verktøy uten å utføre programmet. Denne teknikken brukes høyt for kvalitetssikring innen medisinsk, kjernefysisk og luftfartsprogramvare. Programvare beregninger og reverse engineering er noen populære former for statisk analyse.
- Gjennomganger: Programvareomgang eller kodegjennomgang er en slags fagfellevurdering der utvikleren veileder medlemmene av utviklingsteamet for å gå gjennom produktet og reise spørsmål, foreslå alternativer, komme med kommentarer om mulige feil, standardbrudd eller andre problemer.
- Banetesting: Det er en testboksteknikk for hvit boks der fullstendig avdekning er sikret ved å utføre hver uavhengige vei minst en gang.
- Stress Testing: Denne typen testing gjøres for å sjekke hvor robust et system er ved å teste det under tung belastning, dvs. utover normale forhold.
- Six Sigma: Six Sigma er en kvalitetssikringsmetode som tar sikte på nesten perfekte produkter eller tjenester. Den brukes mye på mange felt, inkludert programvare. Hovedmålet med seks sigma er prosessforbedringer slik at den produserte programvaren er 99,76% feilfri.
Konklusjon
SQA er en paraplyaktivitet som brukes gjennom programvarens livssyklus.
Kvalitetssikring av programvare er veldig viktig for at programvareproduktet eller tjenesten din lykkes i markedet og overlever opp til kundens forventninger.
Det er forskjellige aktiviteter, standarder og teknikker du må følge for å sikre at den leverbare programvaren er av høy kvalitet og samsvarer nøye med forretningsbehovet.
Håper du ville ha fått en klar idé om konseptet med programvarekvalitetssikring gjennom denne informative artikkelen !!
Anbefalt lesing
- Programvaretesting og kvalitetssikringssertifiseringer - Del 2
- Hva er kvalitetsattributtene?
- Falske Gud for kvalitet versus sanne mennesker - Hvem er ansvarlig for programvarekvalitet?
- Forskjellen mellom kvalitetssikring og kvalitetskontroll (QA vs QC)
- Perfekt programvare testing CV-guide (med programvaretester CV-prøve)
- Slik bruker du Poka-Yoke (Mistake Proofing) -teknikk for å forbedre programvarekvaliteten
- Gjensidig forståelse i testing: En nøkkel for å levere kvalitetsprogramvare
- Programvaretesting QA Assistant Job