Теоретичні питання Flashcards
(144 cards)
Що таке тестування?
Перевірка відповідності між реальною та очікуваною поведінкою.
Якість ПЗ (Software Quality) це?
Якість ПЗ (Software Quality)
— це сукупність показників програмного забезпечення, які стосуються його здатності задовольняти встановлені і передбачувані потреби.
Чи потрібно тестування?
Так, Однією з основних мет тестування є виявлення дефектів в програмному забезпеченні перед його випуском. Це дозволяє забезпечити якість продукту та зменшити ризики.
Чи можа тестуванням знехтувати?
Ні, тестування не можна знехтувати, оскільки воно є необхідною частиною процесу розробки програмного забезпечення. Тестування допомагає виявляти помилки та дефекти в програмному забезпеченні та переконується в тому, що програма працює належним чином.
Цілі тестування:
- Перевірка того чи продукт відповідає вимогам і чи задовільняє кінцевого користувача
- Виявити дефект
- Тестування дозволяє визначити умови, за яких програма поводиться некоректно
- Запобігти дефекти
- Підвищення якості ПЗ
- Надання актуальної інформації про стан продукту зараз.
Коли ми повинні почати тестування в нашому проекті?
Тестування програмного забезпечення має починатися на початку життєвого циклу розробки програмного забезпечення.
Це допомагає виявити та усунути дефекти на ранніх стадіях SDLC, тобто на етапі збору вимог і проектування. Ранній початок тестування допомагає зменшити кількість дефектів і, зрештою, вартість переробки.
* Один із семи принципів тестування програмного забезпечення: «Раннє тестування економить час і гроші».
Баг- це
- Баг – це відхилення фактичного результату від очікуваного.
- Головне джерело очікуваного результату - це специфікація(вимоги).
- Специфікації самі не без гріха, і в цьому випадку, як і у випадку
повної їх відсутності, у нас є здоровий глузд, усталені
стандарти, досвід роботи, статистика, авторитетна думка та ін.
Яка різниця між bug, failure, error?
Bug (defect)– помилка програміста (або дизайнера або ще кого, хто бере участь у розробці), тобто коли в програмі щось йде не так як планувалося і програма виходить з-під контролю. Наприклад, коли відсутня валідація полів і в результаті неправильні дані викликають краші або інші збої у роботі програми. Або всередині програма побудована так, що від самого початку не відповідає тому, що від неї очікується.
Failure– збій (причому не обов’язково апаратний) у роботі компонента, всієї програми чи системи. Збій у роботі програми може бути індикатором наявності дефекту.
Error– помилка користувача, який намагається використовувати програму іншим способом. Наприклад, вводить літери в поля, де потрібно вводити цифри (вік, кількість товару тощо). У якісній програмі передбачені такі ситуації та видаються повідомлення про помилку.
Цикл житття багу
New- вперше знайдено баг і внесено до системи.
Open- взято в роботу.
Assigned- назначено розробника, який буде виправляти баг.
Rejected (Not a bug) - розробник відхилив баг або не зміг відтворити. Ми маємо перевірити, чи баг відтворюється, і якщо так, то показати це розробнику.
Deferred - перенесено на наступні спринти через брак часу і низький пріоритет.
Fixed - розробник виправив баг і чекає на перевірку QA.
Verified - тестувальник перевірив баг.
Reopened- якщо баг не виправлено і він відтворюється, його перевідкривають.
Closed - якщо баг виправлено, його закривають.
Duplicate(Дублікат) (такий баг вже існує, або знаходиться в роботі)
Типи (багів)дефектів:
Functional (непраццює якийсь функціонал напр кнопка)
Security(наприклад якщо хтоссь може зламати пароль)
Usability (дефект зручності використання апр кнопка вилізна нап іншу кнопку)
User interface ( незавантажені стилі,, шрифт, картинки…)
Localization (частково не перекладений текст основного функціоналу і кнопок)
Spelling (помилки в правописі)
Perfomance (напр довге завантаження сторінки)
Що таке SDLC і йог етапи?
💡 (SDLC) — це процес розробки ПЗ з різними етапами та кроками, щоб перенести програмне забезпечення від ідеї до створення, впровадження та обслуговування.
- Requirements (Збір і аналіз вимог від клієнта або кінцевих користувачів.)
- Planning (Планування всього проекту розробки програмного забезпечення, включаючи обсяг проекту, часовий графік, бюджет, ресурси та управління ризиками.)
- Design (Проектування архітектури програмного продукту, модулів та інтерфейсу користувача на основі зібраних вимог)
- Development (Розробка програмного продукту з використанням відповідної мови програмування, фреймворку та системи керування базами даних)
- Testing (Тестування програмного продукту для виявлення та усунення будь-яких помилок або проблем, перш ніж він буде випущений для кінцевих користувачів)
- Deployment (Впровадження в цій фазі готову версію програми “віддають” клієнту в користування або “деплоять”в мережу
- Maintenance( Підтримка програмного продукту після його впровадження, виправляють існуючі баги та створюють нові версії програми.)
Яка різниця між SDLC і STLC?
Життєвий цикл розробки програмного забезпечення (SDLC) – це процес, який використовується індустрією програмного забезпечення для проектування,
розробляти та тестувати високоякісне програмне забезпечення. SDLC прагне створювати високоякісне програмне забезпечення, яке
відповідає або перевершує очікування клієнта, досягає завершення в терміни та кошториси.
Життєвий цикл тестування програмного забезпечення STLC — це послідовність різних дій, які виконує команда тестувальників
для забезпечення якості програмного забезпечення або продукту. STLC є невід’ємною частиною програмного забезпечення
Життєвий цикл розробки (SDLC). Але STLC займається лише фазами тестування.
Тестова документація -це?
Тестова документація – це набір документів, що створюється протягом усього циклу тестування. Документація допомагає команді однозначно трактувати кроки, терміни тестування, результати, звертатися до цієї інформації у спірних моментах.
Види тестової документації
Test strategy
Test plan
Чек лісти
Test Suite(Тест комплект)
Test case
Bug report
Test report
Test strategy - це?
Це не деталізований план дій
Стратегія тестування - відносно невеликий статичний(незміннй) докумет, який описує підходи до проведення тестування в рамаках компанії в цілому або її окремих департаментів.
Тест Стратегія:
- Створює Project Manager
- Високорівневий (не детальний) документ з інструкціями про те, як буде проходити тестування
- Поверхньо описує техніки, що будуть використовуватись,
систему для тестування тощо - Тест стратегію зазвичай не змінюють
- Описує загальні підходи та методології
Test plan - це?
Тест план(Test Plan) - це документ, що описує весь обсяг робіт з тестування, починаючи з опису об’єкта, стратегії, розкладу, критеріїв початку та закінчення тестування, до необхідного в процесі роботи обладнання, спеціальних знань, а також оцінки ризиків з варіантами їх вирішення . Тест план складають тестувальники, або QA Lead
Тест план:
- Створює Test Manager або Test Lead
- В деталях описує об’єм тестування і дії, необхідні для проведення тестування
- Описує всі активності тестування: які використовувати техніки, графік, ресурси тощо
- Тест плани можуть бути змінені і оновлені
- Описує багато деталей та уточнень
Test Plan (найголовніші пункти:4,6,7,9,10,11,13,16)
- Test Plan Identifier
(Ідентифікатор документу, його номер) - References
(гіпер посилання(на якість документи, стандарти…)) - Introduction
(Вступ(короткий опис документу)) - Test items
(обєкти тестування(пар. незалежний від інших модулів, модуль який може працювати з ядром )) - Software Risk Issues
(Ризиковані місця(в цьому пункті обгворюються потенційно ризиковані місця, напр інтегрування чогось нового)) - Features to be tested
(Перечисляємо що плануємо протестувати) - Features not to be tested
(Experemental (експерементальні, наявність релізу буде залежати від попиту на цю функціональність), Legacy(спадоковість,функціональнвсть яка переходить з одної версїї в іншу)) - Approach
( Підходи, де будемо викор автотестування, нагрузочне…) - Item pass/fail criteria
(обоговорюється критерії щоб прийняти рішенння по новій версії, пройшла вона тест чи не пройшла,на основі кількості багів які залишились) - Suspension criteria and resumption requirements
(критериї призупинення тестування, і вимоги для відновлення) - Test deliverables
(перечисляються ті документи які обовязково команда тестування має складати) - Testing tasks
(задачі тестування, тут пописується що конкретно має убти зроблено і де) - Enviromental needs
(опис софта і техніки які потрібні для тестування) - Responsibilities
(відповідальності сторін описані, конкретна посада і відповідальність за якість вид документу) - Staffing and training needs
(описується розмір команди, і потреби команди для проекту(лекції, курси,тренінги)) - Schedule
(графіки, де вказується коли QA будуть отримувати зборки для тестування, і в які терміни мають приймати по них рішення) - Risks and contingencies
(ризики і робота з ними, план дій на випадок затримки в роботі, недостаній кількості людей в команді…ітд) - Approvals
(документ який затверджується різними учасниками процесу) - Glossary
(словник, абривіатур, скорочень)
</aside>
Чек ліст- це?
Чек-лист можна порівняти зі списком покупок: це перелік того, що потрібно перевірити. Якщо представити тестування деяких сценаріїв користувача в Нетфлікс у вигляді чек-листа, вийде наступне:
1. Оформити передплату.
2. Перегляд вітрини фільмів.
3. Запуск продовженого перегляду.
Статуси існують наступні: Passed, Failed, Blocked, In progress,
Skipped, Not run
Test Suite(Тест комплект)
(документ який містить набір тестів призначених для перевірки одної або суміжної функціональності)
Test case
(документ який описує набір кроків (інструкцію з описом дій) які потріно виконати для перевірки ОДНОГО очікуваного результату)
Один тест-кейс перевіряє одну конкретну функцію або сценарій користувача. Тест-кейс складається з інформації про те, що має бути перевірено, покрокової інструкції, як це перевірити, а також даних та умов, за яких потрібно проводити цю перевірку.
Тест-кейси та чек-лист складаються до тестування, це план того, як воно проходитиме. Тому в тест-кейсі може бути тільки очікуване значення, фактично ще невідомо. Якщо у процесі тестування виявляється невідповідність, його заносять у баг-репорт.
Bug report
Баг-репорт (Bug Report – звіт про помилку) – це технічний
документ, тому він створюється за певними правилами.
(документ який описує дефект додатку) в ньому описано:
- де і коли робити? (preconditions)
- що робили? (steps to reproduse)
- що отримали? (actual result)
- що очікували(expected result)
Test report
Тест-репорт (Test report)– звіт про виконання тест-кейсів, у ньому
зазвичай зображена загальна статистика, кількість виконаних тест-
кейсів та кількість знайдених помилок, висновок щодо релізу.
Назвіть характеристики хорошого тест-кейсу?
Хороший тест-кейс покриває як позитивні, так і негативні сценарії і виконує тільки одну дію за один раз та не перетинається з іншими.
Характеристики хорошого тесту-кейсу:
- набір тестів не повинен бути надмірним – повинен бути мінімальним і достатнім; рекомендовано використовувати розбиття на класи еквівалентності;
- тест-кейс не повинен бути надто простим чи, навпаки, складним;
- тест-кейс повинен бути точно визначеним;
- тест-кейс повинен бути уніфікованим;
- тест-кейс повинен бути однозначним і зрозумілим.
Яка різниця між тестовим випадком і тестовим сценарієм?
Test scenarioвизначається як будь-яка функціональність, яку можна протестувати. Його також називають тестовою умовою або тестом
можливість.
Приклад: Перевірте функціональність входу
Example: Test the login functionality
Test case — це набір дій, які виконуються для перевірки певної функції або функції вашого програмного забезпечення
додаток. Тестовий приклад містить тестові кроки, тестові дані, передумову та постумову, розроблені для конкретного
тестовий сценарій для перевірки будь-якої вимоги.
Приклад: тестовий вхід із дійсним іменем користувача та дійсним паролем
Example: Test login with a valid username and a valid password
- Тестовий сценарій можна протестувати за допомогою кількох тестів
Баг репорт складається з:
ID:
Summary:
Type: Bug
Status: New/open/Fixed/Not a bug(Rejected)/reopened/closed
Priority:Critical/High/Medium/Low
Severity: Blocker/Critical/High(Major)/Medium/Low(Minor)
Description:
Pre-condition:
We have already registered user and have credentials.
Steps to reproduce:
- Open login page(www.test.com/login);
- Complete “User name” field with a valid user name;
- Complete “Password” field with a valid password;
- Click on [Login] button;
- Observe the screen.
Actual result: Login pages is still displayed. No additional messages appear.
Expected result: Home page of registred user is displayed.
Additional info: 502 error appears in console.
Environment: OS:any(OS, Windows)
Attachment: (photo/video)
Browser: Chrome, Firefox, Safari, Opera (any version)
Build(version): 1.17(версія зборки)
Assign to:( на кого назначений баг)