dc.contributor.advisor | Tůma, Petr | |
dc.creator | Horký, Vojtěch | |
dc.date.accessioned | 2019-01-09T10:49:01Z | |
dc.date.available | 2019-01-09T10:49:01Z | |
dc.date.issued | 2018 | |
dc.identifier.uri | http://hdl.handle.net/20.500.11956/104405 | |
dc.description.abstract | Za agilní metody vývoje softwaru jsou obecně považovány přístupy, kdy jsou programy často sestavovány, testovány a nasazovány. Výsledkem je tak kratší vývojový cyklus. Přístupy typu DevOps pak dovádí tuto koncepci do extrému, kdy jsou setřeny rozdíly mezi vývojovým a produkčním prostředím a nasazený software průběžně aktualizují. V tomto kontextu se tato práce zaměřuje na nalezení míst, kde by jednotliví účastníci měli mít větší povědomí o výkonu vyvíjeného softwaru. Práce nabízí přístupy a nástroje jak toto povědomí zvýšit; hlavním cílem je vytvářet lepší (rychlejší) software v kratším čase. Zlepšení je dosaženo pomocí testování, dokumentace a sledování výkonu během všech fází vývoje software. V této práci ukážeme (1) nástroje pro psaní testů výkonu pro jednotlivé komponenty (např. knihovny). Tyto testy zachycují a kodifikují předpoklady o výkonu a převádí je do spustitelných entit, které zjednodušují automatizaci a opakovatelnost. Pro vyhodnocení testů výkonu jsme (2) navrhli nové metody které dokáží automaticky nalézt regrese. Tyto metody jsou navrženy tak, aby braly v úvahu variabilitu dat pocházejících z měření výkonu softwaru a dokázaly odlišit skutečné regrese od šumu. Testy výkonnosti pak také (3) zužitkujeme pro vytvoření aktuální a přesné API dokumentace výkonu, která vývojářům usnadní psaní... | cs_CZ |
dc.description.abstract | Broadly, agile software development is an approach where code is frequently built, tested and shipped, leading to short release cycles. Extreme version is the DevOps approach where the development, testing and deployment pipelines are merged and software is continuously tested and updated. In this context our work focuses on identifying spots where the participants should be more aware of the performance and offers approaches and tools to improve their awareness with the ultimate goal of producing better software in shorter time. In general, the awareness is raised by testing, documenting, and monitoring the performance in all phases of the development cycle. In this thesis we (1) show a framework for writing performance tests for individual components (e.g. libraries). The tests capture and codify assumptions about the performance into runnable artifacts that simplify repeatability and automation. For evaluation of the performance tests we (2) propose new methods, which can automatically detect performance regressions. These methods are designed with inherent variation of performance data in mind and are able to filter it out in order to detect true regressions. Then we (3) reuse the performance tests to provide the developers with accurate and up-to-date performance API documentation that steer them... | en_US |
dc.language | English | cs_CZ |
dc.language.iso | en_US | |
dc.publisher | Univerzita Karlova, Matematicko-fyzikální fakulta | cs_CZ |
dc.subject | performance evaluation | en_US |
dc.subject | agile software development | en_US |
dc.subject | performance testing | en_US |
dc.subject | software documentation | en_US |
dc.subject | automated software testing | en_US |
dc.subject | vyhodnocování výkonnosti | cs_CZ |
dc.subject | agilní metody vývoje softwaru | cs_CZ |
dc.subject | testování výkonu | cs_CZ |
dc.subject | softwarová dokumentace | cs_CZ |
dc.subject | automatizované testování softwaru | cs_CZ |
dc.title | Performance Awareness in Agile Software Development | en_US |
dc.type | dizertační práce | cs_CZ |
dcterms.created | 2018 | |
dcterms.dateAccepted | 2018-06-11 | |
dc.description.department | Katedra distribuovaných a spolehlivých systémů | cs_CZ |
dc.description.department | Department of Distributed and Dependable Systems | en_US |
dc.description.faculty | Faculty of Mathematics and Physics | en_US |
dc.description.faculty | Matematicko-fyzikální fakulta | cs_CZ |
dc.identifier.repId | 108475 | |
dc.title.translated | Výkon softwaru jako faktor při agilních metodách vývoje | cs_CZ |
dc.contributor.referee | Rabiser, Rick | |
dc.contributor.referee | Koziolek, Anne | |
thesis.degree.name | Ph.D. | |
thesis.degree.level | doktorské | cs_CZ |
thesis.degree.discipline | Software Systems | en_US |
thesis.degree.discipline | Softwarové systémy | cs_CZ |
thesis.degree.program | Informatika | cs_CZ |
thesis.degree.program | Informatics | en_US |
uk.thesis.type | dizertační práce | cs_CZ |
uk.taxonomy.organization-cs | Matematicko-fyzikální fakulta::Katedra distribuovaných a spolehlivých systémů | cs_CZ |
uk.taxonomy.organization-en | Faculty of Mathematics and Physics::Department of Distributed and Dependable Systems | en_US |
uk.faculty-name.cs | Matematicko-fyzikální fakulta | cs_CZ |
uk.faculty-name.en | Faculty of Mathematics and Physics | en_US |
uk.faculty-abbr.cs | MFF | cs_CZ |
uk.degree-discipline.cs | Softwarové systémy | cs_CZ |
uk.degree-discipline.en | Software Systems | en_US |
uk.degree-program.cs | Informatika | cs_CZ |
uk.degree-program.en | Informatics | en_US |
thesis.grade.cs | Prospěl/a | cs_CZ |
thesis.grade.en | Pass | en_US |
uk.abstract.cs | Za agilní metody vývoje softwaru jsou obecně považovány přístupy, kdy jsou programy často sestavovány, testovány a nasazovány. Výsledkem je tak kratší vývojový cyklus. Přístupy typu DevOps pak dovádí tuto koncepci do extrému, kdy jsou setřeny rozdíly mezi vývojovým a produkčním prostředím a nasazený software průběžně aktualizují. V tomto kontextu se tato práce zaměřuje na nalezení míst, kde by jednotliví účastníci měli mít větší povědomí o výkonu vyvíjeného softwaru. Práce nabízí přístupy a nástroje jak toto povědomí zvýšit; hlavním cílem je vytvářet lepší (rychlejší) software v kratším čase. Zlepšení je dosaženo pomocí testování, dokumentace a sledování výkonu během všech fází vývoje software. V této práci ukážeme (1) nástroje pro psaní testů výkonu pro jednotlivé komponenty (např. knihovny). Tyto testy zachycují a kodifikují předpoklady o výkonu a převádí je do spustitelných entit, které zjednodušují automatizaci a opakovatelnost. Pro vyhodnocení testů výkonu jsme (2) navrhli nové metody které dokáží automaticky nalézt regrese. Tyto metody jsou navrženy tak, aby braly v úvahu variabilitu dat pocházejících z měření výkonu softwaru a dokázaly odlišit skutečné regrese od šumu. Testy výkonnosti pak také (3) zužitkujeme pro vytvoření aktuální a přesné API dokumentace výkonu, která vývojářům usnadní psaní... | cs_CZ |
uk.abstract.en | Broadly, agile software development is an approach where code is frequently built, tested and shipped, leading to short release cycles. Extreme version is the DevOps approach where the development, testing and deployment pipelines are merged and software is continuously tested and updated. In this context our work focuses on identifying spots where the participants should be more aware of the performance and offers approaches and tools to improve their awareness with the ultimate goal of producing better software in shorter time. In general, the awareness is raised by testing, documenting, and monitoring the performance in all phases of the development cycle. In this thesis we (1) show a framework for writing performance tests for individual components (e.g. libraries). The tests capture and codify assumptions about the performance into runnable artifacts that simplify repeatability and automation. For evaluation of the performance tests we (2) propose new methods, which can automatically detect performance regressions. These methods are designed with inherent variation of performance data in mind and are able to filter it out in order to detect true regressions. Then we (3) reuse the performance tests to provide the developers with accurate and up-to-date performance API documentation that steer them... | en_US |
uk.file-availability | V | |
uk.publication.place | Praha | cs_CZ |
uk.grantor | Univerzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémů | cs_CZ |
thesis.grade.code | P | |