Successfully reported this slideshow.
Your SlideShare is downloading. ×

Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 25 Ad

Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці

Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці

qaday.org

Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці

qaday.org

Advertisement
Advertisement

More Related Content

More from GoQA (20)

Recently uploaded (20)

Advertisement

Роман Писик - ISTQB Full Advanced: підготовка та застосування знань на практиці

  1. 1. ISTQB FULL ADVANCED ПІДГОТОВКА ТА ЗАСТОСУВАННЯ ЗНАНЬ НА ПРАКТИЦІ
  2. 2. ПЛАН 01 02 03 04 Про себе Користь сертифікації Підготовка та іспит Застосування знань на практиці
  3. 3. РОМАН ПИСИК ● досвід роботи в тестуванні близько 7 років ● працював на авіаційному, страховому, соціальному та маркетинговому проектах ● в 2022 році здобув ISTQB FULL Advanced Level ● маю досвід в ручному та автоматизованому тестуванні ● цікавлюсь методологіями тестування, автоматизацією, мовами програмування та професійними сертифікаціями
  4. 4. Підтвердження професійних знань та навичок Спосіб “вирізнити” себе на ринку праці серед інших кандидатів Заповнення прогалин в освіті КОРИСТЬ СЕРТИФІКАЦІЇ Можливість продемонструвати вмотивованість та вміння опановувати нове Здобуття міжнародної експертизи Підвищення рівня довіри та покращення власного іміджу Засвоєння професійної термінології англійською мовою Занурення в тонкощі тестування
  5. 5. — Rex Black “Not everyone who doesn’t study will fail the exam, but almost everyone who fails the exam didn’t study.”
  6. 6. АЛГОРИТМ ПІДГОТОВКИ Визначення і збір матеріалів Читання книг зі сформованого списку і написання конспекту Перегляд навчальних відео Перечитування конспекту Пошук питань та їх розв’язок Аналіз неправильно вирішених завдань Повторний розв’язок провалених завдань Підготовка — запорука успіху.
  7. 7. ЩО ПОЧИТАТИ? “Software testing is in many ways similar to playing the piano, cooking a meal, or driving a car. How so? In each case, you can read books about these activities, but until you have practiced, you know very little about how to do it” - Rex Black
  8. 8. А ЩЕ?
  9. 9. https://www.youtube.com/c/TMSquareTe chnologySolutions ЩО ПОДИВИТИСЬ?
  10. 10. ДЕ ШУКАТИ ЗРАЗКИ ТЕСТІВ? Офіційні зразки запитань від ISTQB та ASTQB Тестові завдання в рекомендованих посібниках Пошук питань в інтернеті Процес підготовки до ISTQB сертифікації дуже схожий на процес підготовки до складання іспитів на знання ПДР в МРЕО. Також багато курсів (автошкіл), товстих книг, веб-сайтів і тестів. Але є один дієвий спосіб, як спростити собі життя і підготуватися максимально ефективно “заточуюючи” себе під іспит…
  11. 11. ПОРАДИ ЩОДО ПІДГОТОВКИ Заплануйте час Визначте комфортний для вас темп Вивчайте теми одна за одною, якщо використовуєте декілька різних джерел РЕГУЛЯРНІСТЬ = РЕЗУЛЬТАТ
  12. 12. ІСПИТ ONLINE ● Резервуйте додатковий час ● Оплатіть другу спробу ● Підготуйте кімнату до іспиту ● Приготуйте документи ● Налийте собі води ● Використовуйте фіксатор для телефону ● Подбайте про зарядку девайсів
  13. 13. ● Цілісний погляд на атрибути якості ● Поглиблений розгляд технік тестування ● Як корелювати атрибути якості та техніки тестування ● Чим корисні таксономії дефектів ● Методика проведення дослідницького тестування ● Аспекти та підходи до тестування usability ● Комбінування різних технік тестування ● Визначення невідомих абревіатур ● База корисних ідей для тестування ЩО ЗНАЙДЕ ДЛЯ СЕБЕ TEST ANALYST?
  14. 14. SOFTWARE PRODUCT QUALITY Functional Suitability Performance efficiency Maintainability Security Reliability Usability Compatibility Portability ● Adaptability ● Installability ● Replaceability ● Maturity ● Availability ● Fault tolerance ● Recoverability ● Confidentiality ● Integrity ● Non-repudiation ● Authenticity ● Accountability ● Modularity ● Reusability ● Analyzability ● Modifiability ● Testability ● Co-existence ● Interoperability ● Appropriateness recognizability ● Learnability ● Operability ● User error protection ● User interface aesthetics ● Accessibility ● Functional completeness ● Functional correctness ● Functional appropriateness ● Time behavior ● Resource utilization ● Capacity TA TtA T T A TA T A T T A TtA TtA TtA T A
  15. 15. Data structure analysis Code conventions analysis Control flow analysis Data flow analysis Informal Reviews Walkthroughts Technical reviews Inspections Statement coverage Branch / decision coverage Multiple condition coverage Condition coverage Decision condition coverage Modified condition / Decision coverage (MC/DC) Loop coverage Linear code sequence and jumps (LCSAJ) API Testing Path Testing Flow Graphs Basis Paths Penetration testing Fuzz Testing Static Dynamic Static analysis Reviews Structure-based Techniques defect-based Techniques Experience-based Techniques Specification-based Techniques Defect Taxonomy Error Guessing Ad-hoc testing Attack-based testing Random testing Exploratory Testing Checklist-based testing Equivalence partitioning ADUP AU AD ACU+P APU+C APU ACU Boundary value analysis State Transition testing Decision table testing Cause-effect graphing Use case testing Process cycle testing Elementary-comparison testing Domain analysis User story testing Statistical testing Syntax testing Combinatorial techniques Pairwise testing Classification trees Orthogonal arrays All-pairs tables Software Testing techniques
  16. 16. ● White box техніки та покриття коду ● Нефункціональні атрибути якості ● Практики чистого коду ● Процес код-ревю ● Тестування на основі даних ● Стратегії вибору інструментів тестування ● Філософія автоматизації тестів та що автоматизовувати ПРИКЛАДНІ АСПЕКТИ ДЛЯ TECHNICAL TEST ANALYST
  17. 17. ЮНІТ-ТЕСТУВАННЯ ТА ПОКРИТТЯ КОДУ
  18. 18. ТЕСТУВАННЯ НА ОСНОВІ ДАНИХ fixture(‘Entity modification tests’). before(async () => { await updateFile( ‘DISK A’, ‘abc’, ‘goods’, ‘labels’), await updateFile( ‘DISK A’, ‘def’, ‘Peter Parker’, ‘owners’), await removeFileAttribute( ‘DISK A’, ‘ghi’, labelID, ‘labels’), await removeFileAttribute( ‘DISK A’, ’jkl’, ownerID, ‘owners’), await removeFileAttribute( ‘DISK A’, ‘mno’, ‘expiryDay’, ‘toBeExpired’), await removeFileAttribute( ‘DISK A’, ‘pqr’, ‘issueDay’, ‘IssuedAt’) }); fixture(‘Entity modification tests’). before(async () => { testData.updateFileInfo. map(async (item) => { await updateFile( ‘DISK A’, item.fileID, item.PropertyValue, item.propertyToUpdate ); }), testData.updateFileInfo. map(async (item) => { await removeFileAttribute( ‘DISK A’, item.fileID, item.PropertyValue, item.propertyToRemove ); }), }); testData.ts const updateFileInfo = [ { fileID: ‘abc’, propertyValue: ‘goods’, propertyToUpdate: ‘labels’ }, { fileID: ‘def’, propertyValue: ‘Peter Parker’, propertyToUpdate: ‘owners’ }, { fileID: ‘ghi’, propertyValue: ‘label123’, propertyToUpdate: ‘labels’ }, { fileID: ‘jkl’, propertyValue: ‘owner123’, propertyToUpdate: ‘owners’ }, { fileID: ‘mno’, propertyValue: ‘expiryDay’, propertyToUpdate: ‘17-11-2022’ }, { fileID: ‘pqr’, propertyValue: ‘issueDay’, propertyToUpdate: ‘18-11-2022’ } ]
  19. 19. ТЕСТУВАННЯ НА ОСНОВІ ДАНИХ test.meta({ feature: ‘labels’, completed: ‘true’, id: ‘3231jkh211’ })(‘Check all places of label usage’, async () => { await labelsPage.getLabel(name); for (const usage of Object.keys( LabelUsages)) { await usageDetail.checkUsage(usage); await t. expect(await usageModal .getHeader()) .contains(`$(usage)`); await t. expect(await usageModal .getEntityName()) .contains(LabelUsages[usage]); await t.click(usageModal.elements.okBtn); }) }); testData.ts export enum LabelUsages { ‘file’ = ‘apple.png’, ‘folder’ = ‘myTest’, ‘post’ = ‘webinar’, ‘pattern’ = ‘e2e-tests’, ‘collection’ = ‘app-collect’, ‘disk’ = ‘home’, } test.meta({ feature: ‘labels’, completed: ‘true’, id: ‘3231jkh211’ })(‘Check all places of label usage’, async () => { await labelsPage.getLabel(name); await usageDetail.checkUsageInFile(); await t.expect(await usageModal.getHeader()).contains(‘file’); await t.expect(await usageModal.getEntityName()) .contains(testData.fileName); await t.click(usageModal.elements.okBtn); await usageDetail.checkUsageInFolder(); await t.expect(await usageModal.getHeader()).contains(’folder’); await t.expect(await usageModal.getEntityName()) .contains(testData.folderName); await t.click(usageModal.elements.okBtn); await usageDetail.checkUsageInPost(); await t.expect(await usageModal.getHeader()).contains(’post’); await t.expect(await usageModal.getEntityName()) .contains(testData.postName); await t.click(usageModal.elements.okBtn); await usageDetail.checkUsageInPatter(); await t.expect(await usageModal.getHeader()).contains(’pattern’); await t.expect(await usageModal.getEntityName()) .contains(testData.patternName); await t.click(usageModal.elements.okBtn); await usageDetail.checkUsageInCollection(); await t.expect(await usageModal.getHeader()).contains(’collection’); await t.expect(await usageModal.getEntityName()) .contains(testData.collectionName); await t.click(usageModal.elements.okBtn); await usageDetail.checkUsageInFile(); await t.expect(await usageModal.getHeader()).contains(’disk’); await t.expect(await usageModal.getEntityName()) .contains(testData.diskName); await t.click(usageModal.elements.okBtn); });
  20. 20. ● Тестування на основі ризиків ● Як найкраще пріоритезувати тест-кейси ● Які стратегії тестування застосувати ● Як побудувати процес тестування ● Наскільки деталізувати тест-кейси ● Зразки тестової документації ● Перелік важливих стандартів ● Моделі удосконалення процесу тестування ● Метрики в тестуванні ● Побудова процесу управління дефектами ● Особливості управління командою та взаємодія з іншими учасниками ЩО ЗГОДИТЬСЯ ТЕСТ-МЕНЕДЖЕРУ? ? ?
  21. 21. категорія ризиків, які напряму пов’язані з об’ єктом тестування категорія ризиків, які пов’язані з менеджментом та контролем проекту із тестування Ризики продукту Ризики проекту вплив визначає пріоритет; зона Test Analyst ймовірність визначає серйозність; зона Technical Test Analyst зона Test Manager
  22. 22. “Essentially, a manual test case is an abstraction. No matter how complete, it describes an abstract action that is filtered through the mind and fingertips of the manual tester. Open a file, save a record, enter a password: all of those are abstract ideas that need to be translated. The human tester reads the step in the test procedure and translates the abstract idea to the metaphor on the screen using the mouse and keyboard. Human tester adds two important characteristics to every line of any test: context and reasonableness.” From Rex Black and Jamie Mitchell book
  23. 23. ВАЖЛИВО ISTQB не дає нам готових рішень. В реальності дуже багато залежить від зовнішніх факторів. Згадані практичні аспекти не вичерпують усю програму ISTQB. У своїй роботі ви можете знайти більше застосувань і побачити такі застосування, яких не помітив я ?
  24. 24. ДЯКУЮ ЗА УВАГУ! СЛАВА УКРАЇНІ! СЛАВА ЗСУ! Якщо у вас виникнуть запитання, то звертайтесь до мене в Linkedin https://www.linkedin.com/in/romanpysykqa/

×