Methodologies
SDLC or Development methodologies provide structured approaches for planning, designing, building, testing, deploying, and maintaining software.
- Waterfall — traditional & sequential approach, where we can’t go back to previous steps. We start from requirements, design, implementation, testing, deployment and maintained.
- Agile — flexible & iterative approach that emphases on collaboration, customer feedback and incremental development. Agile methodologies: SCRUM, Kanban.
- SCRUM — focus is on time-bound iterations (Sprints) SCRUM is famous with ceremonies. we have daily-standups, planning, grooming, regular reviews and retros.
- Kanban — focuses on visualizing work, continuous flow and limiting work in progress.
- Extreme Programming — agile practice, emphasizes short development iterations, continuous integration, TDD and pair-programming.
- V-Model (Validation and Verification Model): A variant of the Waterfall model where each development phase is paired with a corresponding testing phase.
STLC
STLC — structured approach that defines stages and activities involved for testing software.
- General planning and requirement analysis - determine which of the given requirements can be tested
- Test Planning and Test Strategy development
- Планирование это деятельность для достижения целей, если мы не планируем свои действия мы не сможем добиться желаемого результата.
- A high level doc describing test principles, approach, objectives of organization regarding testing.
- Test plan (cost and effort), types of testing, tools, divide roles and resp.
- Test plan = master (BE, FE, GraphQL), module (market, customisation, insights - graphql)
- PDCA - Plan, do, check, act. Как планировать?
- Test case development - create test cases and scripts (steps to produce, expected result, test data)
- Test environment setup
- Test execution - running tests according test cases and plan, evaluate the reqs. by Requirement Traceability Matrix, and report the defect
- Confirmation testing, regression testing
- Test log = chronological record of details about execution of tests
- Testware = artifacts produced during test process required to plan, design, and execute more tests.
- Test results reporting
- STLC closure - analysis and generating the test report (not just the doc, but, it should help us to create a new plan during the new sprint) to release a good product.
- Exit criteria = reqs. after accomplishing which we can say that task (testing) is over.
- Coverage / test coverage = code coverage is a measure of how much code is executed during testing, while test coverage is a measure of how much of the feature set is covered with tests.
Тестировщик входит в команду уже на этапе сбора требований
- Инициация (идея), планирование.
- Сбор требований от бизнес аналитика (тестируем не противоречат ли друг други требования, несколько полные они, как они написаны)
- Подключается затем дизайнер, и делает шаблоны или макет для приложения (тестируем шаблон на предмет соответствия требованиям, usability testing - на сколько удобно использовать приложение конечному пользователю)
- Если все нравится, начинается процесс разработки
- И разработанный продукт попадает в руки тестировщика (тестируем то что написали девелоперы, frontend и backend, альфа и бета и тд)
- Вход и эксплуатация