Тестування ПЗ є критичним фактором для успішної розробки та впровадження бізнес-процесів
Однією з основних цілей, як розробників і тестувальників, так і керівництва бізнесу, є прискорення процесу тестування і налагодження застосунків, збільшення покриття тестами і підвищення результативності тестування в розумних межах ІТ-бюджету.
За ступенем автоматизації розрізняють:
- Ручне тестування (manual testing) передбачає написання тест-кейсів командою тестувальників і ручну перевірку всіх сценаріїв перед релізом (або випуском софту).
- Автоматизоване тестування (automated testing) передбачає використання програмних засобів для виконання тестів і перевірки результатів виконання, що допомагає скоротити час тестування і спростити його процес.
Порівняно з ручним тестуванням QA-автоматизація дає змогу:
- верифікувати коректність реалізації всіх бізнес-процесів у найкоротші терміни
- збільшити ретельність і результативність тестування, адже точність і повторюваність тестування веде до раннього виявлення більшості дефектів
- сумісність
Приклади успішних проєктів компанії PNN із застосуванням автоматизованого тестування:
- Грошові перекази (надсилання/виплата платежів за системами грошових переказів MoneyGram, Ria, Анелік та ін.)
- Кредитні системи (створення та обробка кредитних заявок)
- Системи управління бюджетом (створення та обробка заявок)
- Інші проєкти під замовлення.
Під час реалізації цих проєктів ми використовуємо автоматизоване тестування, щоб скоротити час створення одних і тих самих заявок у 2 – 3 рази. QA-автоматизація відіграє ключову роль у підвищенні швидкості, ефективності та гнучкості процесу тестування ПЗ. У результаті, дефекти виявляються раніше, а усуваються швидше.
Під час тестування ми використовуємо програми:
- Selenium WebDriver – інструмент автоматизації функціонального та регресійного тестування. Цей інструмент використовує драйвери, адаптовані під конкретний браузер, тобто Selenium WebDriver працює з кожним браузером за “індивідуальною програмою”. Це підвищує стабільність роботи тестів (оскільки вони заточуються під конкретний браузер), тести стає простіше писати і підтримувати, збільшується швидкість їхньої роботи. Selenium WebDriver використовує нативні команди – намагається повністю емітувати дії користувача. На даний момент існують такі драйвери: FirefoxDriver; InternetExplorerDriver; ChromeDriver; AndriodDriver – мобільний браузер, IphoneDriver – мобільний браузер. Список підтримуваних мов у Selenium WebDriver: C#, Java, Ruby, Phyton.
- Jakarta JMeter — інструмент для проведення навантажувального тестування, перевірки навантаження сервера під час звернення великої кількості користувачів.
У більшості проєктів ми проводимо тестування користувацького інтерфейсу (GUI testing), що передбачає стимуляцію активності користувачів.
У процесі тестування нами використовуються 2 основні підходи:
- Утиліти відтворення – інструмент Selenium IDE для Mozilla Firefox, який записує дії користувача, а потім відтворює їх під час тестування. Водночас будь-яка незначна зміна тестованого ПЗ вимагає перезапису ручних тестів.
- Сценарії (Scripting) — форма програмування мовами (здебільшого Java), спеціально розробленими для автоматизації тестування ПЗ, що скорочує момент часу зміни в коді під час змін у вебдодатках.
Компанія PNN пропонує послуги із забезпечення якості та тестування у таких варіаціях:
- як невід’ємну складову частину створення програмного забезпечення на замовлення
- як незалежну послугу з тестування програмного забезпечення замовника
- як незалежну послугу аудиту якості виконання програмної системи
Запропоновані методи покривають як мануальне, так і автоматизоване тестування. Наші фахівці виконують аналіз/тестування функціональності вебдодатків, клієнт-серверних і вбудованих систем, розроблених такими мовами як: Java, C#, C++.