AT/QC (Automation Testing Quality Control) – зміст курсу 8


7 липня 2014 року у Івано-Франківську стартує безкоштовний курс ІТ Академії за напрямком Automation Testing Quality Control (AT/QC), який ознайомить із сучасними бібліотеками для автоматизованого тестування програмного забезпечення та системами керування дефектами. У коментарях до попереднього допису про devOps просили озвучити зміст курсу AT/QC, отож так і зробимо.

AT/QC (Automation Testing Quality Control) - зміст курсу

AT/QC (Automation Testing Quality Control) – зміст курсу

Прошу мати на увазі, що перелік тем курсу подано не у порядку їх викладання, а у вигляді, згрупованому за тематикою. Як мені їх дали, так і публікую 🙂

Introduction (Вступ)
1. Application Architecture – архітектура типового програмного забезпечення.
2. Java Web Application Architecture. OMS Deployment – і конктерніше, архітектура типового веб-додатку.

Project models (нєпєрєвадімая ігра слов ;))
Всякі такі базові речі згруповано у цей “модуль”.
1. Introduction. Testing types.
2. Project Life Cycles Overview. Scrum. QA and QC.
3. SCRUM and Kanban Introduction. Jira introduction.

Test Design (Розробка тестів)
1. Requirements Management – керування вимогами. Це не у плані що у когось щось треба вимагати, а у плані з’ясування достеменно що і коли від вас хоче отримати клієнт.
2. Test Design Techniques. Overview – огляд підходів до розробки тестів.
3. Test Case Specification – специфікація тесткейсів.
Детальніше дізнатися можна хоч би з опису курсу MQC.

Testing Environment (Оточення для тестування)1. SVN Introduction – основи системи контролю версій Subversion
2. Git Introduction – основи системи контролю версій Git
3. CI – основи Continuous integration
4. Java Maven project – основи роботи з Maven
5. Maven for Selenium WebDriver і безпосередньо використання Maven для запуску автоматизованих тестів на базі Selenium WebDriver. Які депенденсі підключати, як налаштувати запуск потрібних утиліт у пре-інтеграцйній фазі (наприклад xvfb для headless-середовища), тощо.

Testing Tool (Інструменти для тестування)
1. Automation Testing. Introduction – загальне уявлення про автоматизоване тестування і про те, чим воно краще за тестування вручну.
2. Unit/Integration testing. JUnit Introduction – різниця між юніт-тестами та інтеграційними тестами, огляд популярного Java-фреймворку для юніт-тестування (JUnit, хоч я особисто більше люблю TestNG).
3. JUnit and TestNG – а ось і воно. Чим не тема для холіварів?
4. Test Recording. Selenium IDE – про цю штцку ми згадували у курсі MQC. Найпростіший спосіб автоматизувати тести, це якось “записати” дії користувача один раз і потім їх відтворювати коли потрібно.
5. Selenium WebDriver – дуже класна штука, яка дозволяє з вашої програми керувати веб-браузером. Наприклад можна змусити його ходити по сайту (веб-додатки, це фактично теж звичайні сайти), клікати кнопочки, вводити дані, тощо.
6. Location Strategies – для того, аби клікати кнопочки і вводити дані, слід знати яким чином ці кнопочки знайти на сайті. А шукати можна по-різному: за id елементів, за їх name, за допомогою xPath чи CSS селекторів…
7. Xpath. Refactoring with applying Xpath and CSS selectors – поянття про xPath та CSS селектори і про те, як зверстати сайт так, щоб вас потім не прокляв той, кому його доведеться тестувати 🙂
8. Java Script. Introduction – основи JavaScript. Нащо? Бо Selenium може “на льоту” вставляти у тіло сайту довільний JavaScript і виконувати його. А ще, не селеніумом єдиним живе автотестер і насправді існує 100500 інструментів для тестування сайтів, які базуються на JavaScript.
9. Selenium and AJAX – цю лекцію я із задоволенням послухав би сам 🙂
10. Explicit and Implicit Wait – іноді під час виконання тесту потрібно зробити паузу, наприклад щоб дочекатися завантаження сторінки або завершення обробки сайтом якихось даних. Селеніум підтримує кілька різновидів чекання на відповідь сайту.

Software Design (Основи розробки програмного забезпечення)
1. Design Pattens for Infrastructure Decoupling – основи розробки програмного забезпечення, патерни проектування, декомпозиція і т.п. Всякі SOLID принципи теж сюди.
2. Fluent Interfaces. Examples here. OOP for testing scripting. Entities. Page-Object approach. UI Mapping – сугубо тестерські штучки, пов’язані із правильним оформленням UI піддослідного сайту, а також патерни розробки автоматизованих тестів, використання у них об’єктно-орієнтованого підходу і тому подібних крутих фіч.
3. UML. Class diagram – про UML-діагарми я вже, пригадую, писав у описі якогось із курсів.
4. Use Case for QC.
5. Data Driven Testing – міг би дати лінк на вікіпедію, але натомість просто скажу, що правило “розділяй і володарюй” придумав далеко не дурень. Так само і в тестуванні дані, що використовуються для тесту, слід тримати окремо від коду самих тестів, а код організовувати таким чином, щоб можна було легко подати йому на вхід потрібні дані.
6. XML Serialization – зберігання інформації у форматі XML (насправді дуже зручна штука, якщо треба десь тримати, скажімо, тестовий вмістбази даних).
7. Database. SQL fundamentals. DML Introduction – а ось, власне, і основи баз даних та мови пошукових запитів.
8. JDBC Introduction – а також інформація про те, як працювати з базами даних засобами Java (JDBC).

Defect Tracking and Reporting (Відстежування дефектів та звітування про них)
1. Defects Reporting & Tracking.
2. Jira for QC.

Supportability Testing (Тестування підтримуваності)
1. Java Code Convention. CheckStyle, PMD – Як правильно оформити і структурувати код програми, а також за допомогою яких інструментів цю правильність можна перевірити (звісно ж, автоматично, хоч би за допомогою Maven).

Performance testing (Тестування продуктивності)
Тестування продуктивності прогармного забезпечення. Оскільки веб-додаток працює через мережу, то велику роль у цій справі відіграє розуміння основ роботи мережі, уявлення про DNS, протокол TCP/IP і принципи роботи HTTP. Ну і огряд дуже поширеного інструменту для тестування продуктивності програмного забезпечення – jMeter.
1. Performance Testing design
2. HTTP
3. Performance testing. JMeter
4. Network. TCP/IP protocols. DHCP, DNS Introduction.

Ну ось і все, сподіваюся, комусь ця інформація стане у пригоді. Наостанок посилання на описи інших курсів від SoftServe:

Почитайте ще оце:


Залиште коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

8 thoughts on “AT/QC (Automation Testing Quality Control) – зміст курсу

  • Василь

    Велике спасибі за опис даного курсу… Як думаєте чи обов’язковим є знання Java для того щоб попасти на даний курс, чи можна пройти з знаннями по C#?

    • Akceptor Від автора

      В принципі, курс орієнтовано на людину, яка має знання основ Java. Особисто моя думка (я з C# знайомий ну дуже поверхнево), що зі знанями C# вивчити основи Java абсолютно не проблема за тиждень-два, бо ж розуміння ООП і базових принципів уже є, різниця лиш у деталях.
      Тому я б радив спробувати і думаю, що шанси пройти дуже непогані.
      Втім, це залежить від рівня знань C#

  • Олег

    Привіт. Минолого року закінчив такі самі курси. Зараз працюю на одному проекті на софт серві.
    Дуже рекомендую, набув для себе цікавого досвіду і знайшов роботу.
    І зауважу, що програму доопрацювали і тут багато нового та актуального, що дійсно необхідно автомейшин інжинеру.

    Перед тим як потрапити на курси, Java взагалі не знав, все на рівні інтуїції було. Знання алгоритмізації ще зі школи. Тому рекомендую кожному – якщо сумніваєтесь, прийдіть і спробуйте себе.