kokybės užtikrinimo priemonės

30
Kokybės užtikrinimo priemonės Darius Kučinskas

Upload: masato

Post on 29-Jan-2016

68 views

Category:

Documents


1 download

DESCRIPTION

Kokybės užtikrinimo priemonės. Darius Kučinskas. Kodo kokybės užtikrinimo priemonės. Programinės įrangos kokybė Statinė analizė ir kodo metrikos Išeities kodo peržiūros (ang. code reviews) Apkrovos testavimas (ang. performance testing). PĮ kokybė ?. PĮ kokybė ?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kokybės užtikrinimo priemonės

Kokybės užtikrinimo priemonės

Darius Kučinskas

Page 2: Kokybės užtikrinimo priemonės

Kodo kokybės užtikrinimo priemonės

o Programinės įrangos kokybėo Statinė analizė ir kodo metrikoso Išeities kodo peržiūros (ang. code reviews)o Apkrovos testavimas (ang. performance testing)

Page 3: Kokybės užtikrinimo priemonės

PĮ kokybė?

Page 4: Kokybės užtikrinimo priemonės

PĮ kokybė?

o Tai ką jūs pirmiausiai bandote sukurti kurdami programinę įrangą yra vertė (PĮ vartotojui)

o Kokybė yra vienas iš vertės aspektų, taip pat kaip ir kaina, bei kiti faktoriai

Page 5: Kokybės užtikrinimo priemonės

Statinė analizė?

Page 6: Kokybės užtikrinimo priemonės

Statinė analizė

o PĮ kokybės užtikrinimo priemonėo Atliekama neįvykdant pačios programoso Vykdoma automatinių įrankiųo Objektas programos išeities arba objektinis kodaso Sudėtingumas svyruoja nuo individualių sakinių

nagrinėjimo iki viso kodo analizės

Page 7: Kokybės užtikrinimo priemonės

Statinė analizė

o Rezultate gali nurodyti programavimo klaidas arba formaliais metodais matematiškai įrodyti tam tikras programos savybes (pvz., jos atitikimą specifikacijai)

o PĮ metrikų rinkimas taip pat laikomas viena iš statinės analizės formų

Page 8: Kokybės užtikrinimo priemonės

Statinė analizė įrankiai?

Page 9: Kokybės užtikrinimo priemonės

Statinė analizė įrankiai

o C# kompiliatorius (C#)o StyleCop (C#)o ReSharper (C#, JavaScript, HTML, CSS)o NCover o JSHint (JavaScript)o VisualStudio

Page 10: Kokybės užtikrinimo priemonės

C# kompiliatorius

o Įjungti aukščiausią įspėjimų lygį (ang. warning level)

o Įspėjimą traktuoti kaip klaidą (angl. treat warnings as errors)

o Esant nors vienam įspėjimui, projektas turi nesikompiliuoti

Page 11: Kokybės užtikrinimo priemonės

StyleCop

o Atviro kodo statinės analizės įrankis o Pagamintas Microsoft'o kompanijoso Galima parsisiųsti iš http://stylecop.codeplex.com

svetainės

o Analizuoja programos išeities kodąo Tikrina ar kodas atitinka rekomenduojamą

programavimo stilių bei Microsoft NET Framework dizaino gaires

Page 12: Kokybės užtikrinimo priemonės

StyleCop

o Taisyklės skirstomos į šias kategorijas:o Dokumentacijao Išdėstymaso Priežiūra (ang. Maintainability)o Pavadinimai (ang. Naming)o Skaitomumas (angl. Readability)o Savos sukurtos taisyklės

Page 13: Kokybės užtikrinimo priemonės

StyleCop

o Taisyklės pritaikytos būtent mūsų organizacijai, gali skirtis projekto lygmenyje

o Taisyklės saugomos centralizuotai, prieinamos kiekvienam programuotojui

o Pažeidus taisyklę projektas nesikompiliuoja

Page 14: Kokybės užtikrinimo priemonės

ReSharper

o Komercinis įrankis skirtas kodo pertvarkymuio Pagamintas JetBrains kompanijoso Integruotas į VisualStudio kaip išplėtimas

o Palaiko C#, VB, JavaScript, CSS, HTMLo Kodo taisyklių tikrinimas, rezultatai pateikiami

klaidų, įspėjimų, pasiūlymų ir patarimų pavidaluo Automatizuotas klaidų taisymas ir kodo

optimizavimaso Palaiko kodo pertvarkymą (angl. code

refactoring)

Page 15: Kokybės užtikrinimo priemonės

ReSharper

o Taisyklės pritaikytos būtent mūsų organizacijai, gali skirtis projekto lygmenyje

o Taisyklės saugomos centralizuotai, prieinamos kiekvienam programuotojui

o Pažeidus taisyklę projektas nesikompiliuoja

Page 16: Kokybės užtikrinimo priemonės

JSHint

o Įrankis, skirtas aptikti klaidas ir galimas problemas JavaScript kode

o Gali būti naudojamas siekiant užtikrinti programavimo konvencijų laikymosi

o Taisyklės nustatomos vieno failo lygyje

Page 17: Kokybės užtikrinimo priemonės

NCover

o Kodo padengimo įrankis skirtas .NETo Kodo padengimas yra priemonė, naudojama

programinės įrangos testavime, nusakanti iki kokio laipsnio programos kodas yra ištestuotas

Page 18: Kokybės užtikrinimo priemonės

VisualStudio

o Visi aukščiau paminėti įrankiai integruoti į programuotojo darbo aplinką (šiuo atveju į VisualStudio)

o Integruotas kodo metrikų apskaičiavimo įrankis

Page 19: Kokybės užtikrinimo priemonės

Kodo metrikos?

Page 20: Kokybės užtikrinimo priemonės

Kodo metrikos - eilučių skaičius

o Kodo eilučių skaičius - nurodo apytikslį kodo eilučių skaičių

o Labai didelis eilučių skaičius galimai rodo, kad tipas ar metodas bando daryti per daug

o Jis turėtų būti suskaidytaso Kitaip jį bus sunku palaikyti ir plėsti

Page 21: Kokybės užtikrinimo priemonės

Kodo metrikos – klasių susiejimas

o Ang. Class Couplingo Apibrėžia klasių tarpusavio susiejimo lygįo Gero dizaino požymis yra mažas klasių susiejimo

lygiso Didelis susiejimas reiškia, kad tokį kodą bus

sunku palaikyti ir plėtoti

Page 22: Kokybės užtikrinimo priemonės

Kodo metrikos – paveldėjimo gylis

o Rodo klasių apibrėžimų skaičių iki klasių hierarchijos šaknų

o Kuo gilesnė hierarchija, tuo sunkiau gali būti suprasti, kur yra apibrėžti konkretūs metodai ir laukai

o Didelis susiejimas reiškia, kad tokį kodą bus sunku palaikyti ir plėtoti

Page 23: Kokybės užtikrinimo priemonės

Kodo metrikos – ciklomatinis sudėtingumas

o Ang. Cyclomatic Complexityo Priemonė apibrėžianti programos valdymo srauto

struktūrinį sudėtingumąo Didelė reikšmė reiškia, kad bus sunku palaikyti ir

plėtoti

Page 24: Kokybės užtikrinimo priemonės

Kodo metrikos – priežiūros indeksas

o Ang. Maintainability Indexo Programos palaikymo sudėtingumo indeksas

Page 25: Kokybės užtikrinimo priemonės

o Programinės įrangos išeities kodo kokybės rodikliai stipriai koreliuoja su kodu dydžio (bent jau taip pat stipriai kaip ir su klaidų lygiu)

o Iš kodo dydžio galima prognozuoti jo kokybę

Page 26: Kokybės užtikrinimo priemonės

Išeities kodo peržiūros

o Ang. Code reviewo Kiekvienas baigtas projektas patenka į peržiūrąo Ar laikomasi organizacijos nustatytų

programavimo konvencijųo Ar teisinga projekto struktūrao Ar teisingai parinkti sluoksniaio Ar naudojami teisingi dizaino šablonai (ang.

design patterns)

Page 27: Kokybės užtikrinimo priemonės

Išeities kodo peržiūros

o Ar yra unit testaio Ar yra duomenų bazės sukūrimo / atnaujinimo

skriptaio Ar projaktas įtrauktas į nuolatinės integracijos

aplinkąo Programos kodas turi turėti atskiras šakas

vįstymui / testavimuio Turi būti paruoštas bent minimalus aprašas

Page 28: Kokybės užtikrinimo priemonės

Apkrovos testavimas

o Projektas neatiduodamas klientui neatlikus apkrovos testavimo

Page 29: Kokybės užtikrinimo priemonės

Apkrovos testavimas - įrankiai

o Apache - Jmetero Redgate - Performance Profilero Chrome - Developer Toolso Firefox - Firebug

Page 30: Kokybės užtikrinimo priemonės

Apkrovos testavimas - Performance Profiler

Redgate - Performance Profiler