Всеки от нас има възможността да се докаже като тестер, а нашето тестване включва използването, например, на утилитни продукти. След като ги включим и след това се уверим, че изпълняват функциите си и отговарят на нашите очаквания, можем да заключим, че устройствата работят правилно. Ако наблюдаваме дефекти, свързани с тяхното използване, ги връщаме за рекламация. Тестването на софтуер се основава на подобен принцип.
Какво е тестване на софтуер? – съдържание:
- Какво е тестване на софтуер?
- Цели на тестването на софтуер
- Как изглежда работата на тестер на софтуер?
- Как да станем тестер?
Какво е тестване на софтуер?
Софтуерът, разработен от програмисти, се подлага на тестове, които се състоят в проверка на правилната му работа и съответствието с спецификацията. Това се нарича верификация на софтуера.
Спецификация е документ, който съдържа цялата необходима информация за софтуера, напр. приложение, и първо съдържа описание на функциите, които трябва да изпълнява. Проверка дали софтуерът работи в съответствие с очакванията на потребителите се нарича валидация.
Тестването подобрява качеството на софтуера, ограничава възникването на неизправности, произтичащи от грешки, намалява финансовите загуби, съкращава времето за разработка на софтуер и укрепва имиджа на компанията. Дейностите по тестване се извършват най-добре в най-ранните етапи на внедряване на софтуера. Колкото по-рано бъде открит бъг, толкова по-ниска е цената за поправянето му. Ако тестовете не се провеждат в най-ранните етапи на разработка на софтуера, могат да възникнат усложнения, например, напреднала работа по проекта, което може да затрудни локализирането на източника на грешката и поправянето й.
Цели на тестването на софтуер
Според ISTQB (Международен съвет за квалификации по тестване на софтуер), целите на тестването могат да бъдат постигнати чрез:
- Предотвратяване на дефекти, произтичащи от грешки, чрез оценка на работните продукти, като код,
- Намаляване на риска от влошаване на качеството на софтуера чрез откриване на неизправности, причинени от дефекти,
- Верификация, че софтуерът отговаря на всички изисквания, включени в неговата документация, валидация, т.е. проверка, че софтуерът съответства на очакванията на потребителите,
- Изграждане на доверие в тестването на всеки етап,
- Предоставяне на информация, която влияе на заинтересованите страни да вземат информирани решения,
- Съответствие с закони, стандарти, норми и договорни изисквания.
Как изглежда работата на тестер на софтуер?
Работата на тестера е да докладва за бъгове, открити в резултат на експлоатация на софтуера. В случай на откритие, той ги докладва на програмист, отговорен за дадена област или за целия софтуер. За този тип докладване са проектирани специализирани програми. Тестерът описва пътя, по който представя стъпка по стъпка начина, по който е открит грешката. Това позволява на програмиста бързо да намери бъга и да го поправи, а след това да докладва завършената задача на тестера за повторно тестване. Тестерът, от своя страна, проследява пътя, повтаряйки същата последователност от стъпки. Ако бъгът е поправен, той приема задачата, а ако се повтори, отново я докладва на програмиста.
Тестерите се делят на ръчни и автоматизирани тестери. Работата на ръчния тестер е да тества софтуера самостоятелно, оценявайки всеки тестов сценарий, съдържащ всички случаи, което е времеемко. Автоматизираният тестер, от своя страна, използва инструменти за писане на скриптове и програми, които ускоряват процеса и допълнително откриват грешки, които могат да останат незабелязани от ръчния тестер. Автоматичното тестване е, следователно, по-прецизно, но създаването на инструменти изисква познания по програмни езици, напр. Java, SQL или Python.
Как да станем тестер?
Всеки, който планира да стане тестер на софтуер, трябва да научи теорията на тестването. Получените знания след това могат да бъдат проверени чрез полагане на изпита ISTQB. Това е неправителствена организация, която функционира от 2002 г. Изпитът има формата на тест, а след получаване на положителен резултат, кандидатът получава сертификат, потвърдващ неговата компетентност и знания като тестер. Предимството на изпита е, че сертификатът няма срок на валидност и е признат в световен мащаб.
Изпитът ISTQB може да бъде положен на три нива: Основно, Agile и Специализирано. Основното ниво разглежда многопластовата тема на тестването на софтуер. Agile се отнася до практиките на гъвкаво тестване на софтуер, а специализираният модул, например, предоставя информация, свързана с конкретни дейности по тестване, като автоматизация на тестовете. Има също три нива на трудност на изпита: основно, напреднало и експертно. По-долу е диаграма на споменатите модули и техните нива.
Тестерът играе жизненоважна роля в правилното функциониране на софтуера, затова той или тя трябва да притежава качества, които ще улеснят работата. Точни, търпеливи, последователни и комуникативни индивиди ще се справят най-добре в тестването на софтуер. Тестерът също така трябва да проявява аналитични умения за мислене поради изпълнението на тестовите сценарии.
Резюме
Тестването на софтуер е начин за откриване на нередности в софтуера и подобряване на качеството му чрез изпълнение на целите на тестването. Целият процес се управлява от тестери на софтуер, които имат специфични знания, за да улеснят работата си и могат да го потвърдят, напр. чрез получаване на сертификат ISTQB.
Какво е тестване на софтуер? Сега знаете отговора! Проверете нашите други серии за Python и Javascript!
Ако харесвате нашето съдържание, присъединете се към нашата общност на заети пчелички в Facebook, Twitter, LinkedIn, Instagram, YouTube.
Robert Whitney
Експерт по JavaScript и инструктор, който обучава ИТ отдели. Основната му цел е да повиши продуктивността на екипа, като учи другите как да си сътрудничат ефективно при програмирането.