Manual to Automated Testing: An Effort-Based Approach for Determining the Priority of Software Test Automation

И втората ми научна статия е вече факт. При интерес:

http://waset.org/publications/10003250/manual-to-automated-testing-an-effort-based-approach-for-determining-the-priority-of-software-test-automation [PDF]

World Academy of Science Engineering and Technology

International Journal of Computer, Electrical, Automation, Control and Information Engineering

Vol:9, No:12, 2015

Manual to Automated Testing: An Effort-Based Approach for Determining the Priority of Software Test Automation

Authors: Peter Sabev, Prof. Katalina Grigorova

University: „Angel Kanchev“ University of Ruse

Test automation allows performing difficult and time consuming manual software testing tasks efficiently, quickly and repeatedly. However, development and maintenance of automated tests is expensive, so it needs a proper prioritization what to automate first. This paper describes a simple yet efficient approach for such prioritization of test cases based on the effort needed for both manual execution and software test automation. The suggested approach is very flexible because it allows working with a variety of assessment methods, and adding or removing new candidates at any time. The theoretical ideas presented in this article have been successfully applied in real world situations in several software companies by the authors and their colleagues including testing of real estate websites, cryptographic and authentication solutions, OSGi-based middleware framework that has been applied in various systems for smart homes, connected cars, production plants, sensors, home appliances, car head units and engine control units (ECU), vending machines, medical devices, industry equipment and other devices that either contain or are connected to an embedded service gateway.

Keywords: Automated Testing, Manual Testing, Test Automation, Software testing, Test Prioritization

Transforming Automated Software Functional Tests For Performance And Load Testing

Първата ми научна статия е вече публикувана в International Journal of Scientific Engineering and Applied Science. Всеки, който проявява интерес, може да я види тук:

http://ijseas.com/volume1/v1i3/ijseas20150363.pdf

International Journal of Scientific Engineering and Applied Science (IJSEAS) – ISSN: 2395-3470, Volume-1, Issue-3, June 2015, p. 447-453

Transforming Automated Software Functional Tests for Performance and Load Testing

Authors: Peter Sabev, Assoc. Prof. Katalina Grigorova

University: „Angel Kanchev“ University of Ruse

Functional testing is a quality assurance process that could be automated. Functions are tested by feeding them input and examining the output expecting concrete results. However, the performance measurement and execution times of these tests are rarely considered when executing functional tests. Adding simple timestamps for every functional test execution when such a test is started or stopped could bring a valuable benchmarking data for analysis, save a significant amount of time for executing performance tests separately from functional tests, and increase defect removal efficiency.

Keywords: Software Engineering, Software Testing, Testing Model, Automated Testing, Functional Testing, Performance Testing, Regression Testing, Benchmarking

Софтуерните термини от QA в секса

Този пост съдържа нецензурни и еротични елементи!
На света има една изключително важна професия, с която се занимавам и аз. Наричат я с различни имена: Quality Assurance Engineer, Test Analyst и какво ли още не… В основата й е тестването на софтуера и по този начин – осигуряване на неговото качество. Професията е пълна с трудноразбираеми термини, затова реших да направя един аналог с нещо, което ни идва отвътре и е лесно разбираемо, например секса… По този начин гарантирам, че след прочитането на тези дефиниции, никога повече няма да объркате термин от QA-практиката:
White-Box Testing
Съответства на секс през деня… Виждаш точно кое къде влиза и откъде излиза и внимателно следиш поведението на партньора.
Black-Box Testing
Прилича на секс през нощта… Въобще нямаш представа какво е вкарано, вкарано ли е на правилното място, важен е единствено очаквания резултат.
Пример за успешен тест: Дааа… даааа… по-силно, още…!
Пример за неуспешен тест: Ъ! К’во прайш, бе, простак!
Validation
Правилно ли е това, кoето правим? (морална гледна точка)
Verification
А правим ли го по правилния начин? (техническа гледна точка)
Smoke Testing
Проверява се дали системата е готова да бъде тествана… Нарича се „smoke“, тъй като обикновено разговорът започва с тъпи реплики от рода на „Извинявай, имаш ли огънче?“.
Usability Testing
Проверявате взаимодействието между вас и партньора си, като обикновено се фокусира на определен обект от системата или малка група обекти (ерогенни зони). Прави се с неопитни тестъри (или тестери, как би трябвало да се напише всъщност?), за да се провери дали интерфейсът е достатъчно интуитивен… Често тестването приключва с т. нар. feedback, който се състои във въпросът „Хареса ли ти?“. Някои системи и разработчици подхождат изключително непрофесионално при отрицателен отговор на този въпрос.
Unit Testing
Тества се всяка част от тялото на партньора напълно индивидуално… Т. нар. „фелацио“ е типичен пример за unit-тестване, като изключително трябва да се внимава за скрити изтичания (memory leaks).
Integration Testing
Тестване на обособена група от компоненти и интеграцията между тях… Както казва Цеко Сифоня, „йебане с подхвъргане и пощипване под мишките“…
System Testing
Цялостно тестване на системата… от главата до петите, отпред и отзад 🙂
System Integration Testing
Как системата се „разбира“ с други подобни системи… в сексуален контекст, доколко размерите ви съответстват и да си го кажем направо: ще си паснете ли… А с отговора на въпроса „абе ще влезе ли това голямото нещо в тая малката дупка“ се занимава т. нар. Volume Testing.
Adhoc Testing
Вкарвате случайни свои органи в случайни дупки по тялото на партньора си и следите дали няма да изпищи в даден момент…
Performance Testing
В основата на performance testing е начинът, по-който се представя партньорът. Тук метриките са в основата на тестването – колко време издържа, изчислява се капацитет от брой пъти на вечер и др.
Compatibility Testing
Това означава доколко партньорът ви се чувства комфортно в дадената обстановка. Естествено, че сексът на хавайски плаж леко ще се различава от този в иглу.
Не бива да се бърка със System Integration Testing.
Load Testing
Или какво натоварване издържа партньорът ви… ще се справи ли с вас? А с двама? А с трима? …
Recovery Testing
Ще се възстанови ли напълно партньора ви след бурна нощ?
Ще бъде ли в готовност още на следващата сутрин?
Stress Testing
Как реагира системата, когато липсва важен нейн компонент… Например, ще издържи ли, ако отиде в командировка за 1 месец 🙂
Automated Testing
С вибратор… Възможността за човешка грешка поради невнимание (примерно бременност) е сведена до нула.
Re-Testing and Regression Testing
Правите го отново и отново и отново, за да се уверите, че всеки път е едно и също 🙂
Разликата е в това, че при re-testing-а го правите със същия партньор, а при regression проверявате дали същите бъгове ги има и в следващите билдове (например, дали по-малката сестра е същата като кака си).
Въобще, има толкова видове и възможности за тестване… Така че… тествайте 🙂