Testing in SDLC Flashcards
SDLC (Software Development Life Cycle)
SDLC - це процес розробки програмного забезпечення.
SCRUM
Kanban
Waterfall
SCRUM
Інструмент для розробки проекту;
Гнучкий метод управління проектами; framework
Етапи:
- Backlog (prioritize tasks)
- Sprint (first high priority tasks) - up to 4 weeks
- Demo version
- Team retrospective (обговорення проблемних задач; team feedback)
Test Approaches
Manual & Automated
Positive & Negative
Proactive & Reactive
(Proactive - підхід, при якому процес тестування починається якомога раніше до створення збірки
Reactive - підхід, при якому тестування починається лише після завершення проектування та кодування)
Scripted & Unscripted
(Scripted - тестування проходить за шляхом, який пише сам тестувальник або хтось інший. Сценарій включає тестові випадки та етапи тестування, які задокументовані. Не може бути відхилення від шляху, викладеного в сценарії.
Unscripted - тестування пз, при якому тестувальник може вільно вибрати будь-яку можливу методологію для тестування пз. Розробники пз використовують свої особисті знання, навички та здібності)
Black, white & Grey boxes
Test Levels
- Unit (Components) - перевірка кожного компонента системи окремо (виконується девелоперами)
- Integration - як окремі компоненти співпрацюють між собою
- System
- Acceptance
a. Alfa (performed by product owner)
b. Beta (performed by customers)
Fundamental Test Process
- Planning & control
- Analysis & design
- Implementation & execution
- Exit Criteria & reporting
- Test Closure Activities
Bug Life Cycle
Detection Reporting Assigning - Rejecting (Not an issue; Not reproductible; Won`t fix) In Progress Fixing Re-testing Closure
Test principles
- Тестування показує наявність багів
- Вичерпне тестування неможливе
- Раннє тестування береже час і гроші
- Скупчення дефектів
- Парадокс пестициду
- Тестування залежить від контексту
(Вибір методики, техніки та типу тестування напряму залежить від природи тестування (чи це медична сфера чи компюткрна гра, вимоги до вибору будкть різними) - Омана про відсутність багів
Functional Testing Types
- Suitability (придатність)
можливість забезпечити комфортне використання програми користувачами - Accuracy (точність)
- Security
Non-functional Testing Types
Compliance (Conformance)
Reliability (надійність) - здатність пз забезпечувати безаварійну роботу протягом певного періоду:
-
- Recovery ability testing (можливість відновлення) - failover, backup, restore
Maintainability (ремонтноспроможність) - наскільки легко код може бути проаналізований, змінений та перевірений
Usability (практичність) - легкість у використанні:
- UI - тестування інтерфейсу
- Understandability - логічна концепція системи
- Learnability -
- Operability -
- Attractiveness - привабливість
Efficiency (ефективність):
- Performance - скільки йде часу на обробку конкретного запиту
- Load (навантаженість) - робота системи з максимальним навантаженням (n≤100)
- Stress - тип тестування для оцінки роботи системи з вище меж (n≥100)
Portability (портативність):
- Install ability
- Compatibility
- Adaptability
- Replaceability
L10N (Localization): наскільки добре програма локалізована на мові перекладу
I18N (Internationalization):
Testing Types: Sanity & Smoke
Sanity: To verify deeply one of the system feature
Smoke: To verify all main functionality work according to requirements with no deep analysis and testing
Test Design: Static (Статичний)
- Informal Reviews -
- Walkthroughs -
- Inspection -
- Technical reviews -
- Static Analysis: Control Flow Structure (
Data Flow Structure (
Test Design: Dynamic - Structural Based
Defect Based
Test Design: Dynamic - Experience Based
- Error Guessing використовується досвід, щоб передбачити потенційні помилки
- Checklist Based Testing тестування на основі контрольного списку (генерується аналітиком)
- Exploratory testing - поглиблене тестування однієї функції
Test Design: Dynamic - Specification Based
Test Documentation: Checklist
Набір завдань, які повинні бути перевірені з певної причини
Example: Log in Log out Lock account Unlock account Delete account Create a new account
Test Documentation: Test Plan
Документ, що описує сферу, підхід, ресурси та графік тестування
Test Documentation: Defect Report
Документ, який містить детальну інформацію про баг. Contains: ID Description Expected result Actual result Steps (how I found the defect) Severity Priority Environment Screenshot (attachments)