Informacja

Drogi użytkowniku, aplikacja do prawidłowego działania wymaga obsługi JavaScript. Proszę włącz obsługę JavaScript w Twojej przeglądarce.

Tytuł pozycji:

An overview of structural and logical coverage measurement methods and an implementation of modified condition/decision coverage measurement

Tytuł:
An overview of structural and logical coverage measurement methods and an implementation of modified condition/decision coverage measurement
Przegląd metod pomiaru pokrycia strukturalnego oraz logicznego i implementacja pomiaru pokrycia warunków znaczących
Autorzy:
Morszczyński, Artur
Słowa kluczowe:
software testingcode coveragestructural coveragelogical coveragemodified condition/decision coveragesoftware engineeringPython
testowanie oprogramowaniapokrycie kodupokrycie strukturalnepokrycie logicznepokrycie warunków znaczącychinżynieria oprogramowaniaPython
Język:
polski
Dostawca treści:
Repozytorium Uniwersytetu Jagiellońskiego
Inne
  Przejdź do źródła  Link otwiera się w nowym oknie
A new tool for modified condition/decision coverage measurement for Python programs is designed and implemented in the thesis. Different practical approaches to automated structural and logical coverage measurement are presented.The thesis begins with a presentation of the topic of logical coverage analysis with special attention paid to the sequential evaluation of conditions and short-circuit as phenomena which influence the control flow graph and coverage measurement. A view of condition truth assignment combinations as a “determination case” and “unanimity case” is proposed. Main practical applications of code coverage analysis treated as obtainment of indications as well as calculation of a numerical metric are described. Some of suggestions of ways to improve the modified condition/decision coverage criterion which appear in the academic community are presented. Two stages of automated code coverage analysis are distinguished and two ways to obtain the necessary data are described. A survey of five open source tools for code coverage measurement supporting Python, Java and JavaScript and different coverage criteria is performed.The designed new tool introduces modified condition/decision coverage measurement to Python, taking its distinctive syntactical constructs into account. The tool has been extended with basic additional support for relational operator conditions.

W pracy zaprojektowano i zaimplementowano nowe narzędzie służące do uzyskiwania pomiaru pokrycia warunków znaczących programów napisanych w języku Python oraz przedstawiono różne praktyczne podejścia do zagadnienia automatycznego pomiaru pokrycia strukturalnego i logicznego.Pracę rozpoczyna przedstawienie zagadnienia analizy pokrycia logicznego, przy czym szczególną uwagę zwrócono na sekwencyjną ewaluację warunków i short-circuit jako zjawiska wpływające na graf przepływu sterowania i pomiary pokrycia. Zaproponowano ujęcie kombinacji wartościowań warunków jako „przypadku przesądzenia” i „przypadku zgodności”. Omówiono główne zastosowania analizy pokrycia kodu rozumianej jako poszukiwanie wskazań oraz uzyskiwanie liczbowej metryki. Przedstawiono niektóre z pojawiających się w środowisku naukowym propozycji ulepszeń kryterium pokrycia warunków znaczących. Wyróżniono dwa etapy zautomatyzowanej analizy pokrycia kodu i dwie metody uzyskiwania danych. Przeprowadzono przegląd pięciu narzędzi open source wykonujących pomiary pokrycia kodu według różnych kryteriów dla języków Python, Java i JavaScript.Zaprojektowane nowe narzędzie wprowadza pomiar skorelowanego pokrycia warunków znaczących do języka Python, uwzględniając jego specyficzne konstrukcje składniowe. Dodatkowo rozbudowano to narzędzie o podstawowe wsparcie dla badania nierówności.

Ta witryna wykorzystuje pliki cookies do przechowywania informacji na Twoim komputerze. Pliki cookies stosujemy w celu świadczenia usług na najwyższym poziomie, w tym w sposób dostosowany do indywidualnych potrzeb. Korzystanie z witryny bez zmiany ustawień dotyczących cookies oznacza, że będą one zamieszczane w Twoim komputerze. W każdym momencie możesz dokonać zmiany ustawień dotyczących cookies