"Тестирование в agile в среде виртуализации...
TRANSCRIPT
Testing in Agile. From Scrum to Kanban. Virtual development environments possible issues on the live projects
Prepared by Vladimir Sidorenko
Type: WEB Methodology: Scrum Team: DA 10 people Tools:
• Jira;• GitHub;• Vagrant+Docker+Virtual Box
Languages: • Java;• JavaScript(Angular)
Project inputs:
Roles and Activities
Artifacts
Term Definition
User Stories Something a user wants and associated acceptance criteria. For example, “As a Facebook user, I need an ability to retrieve a link to someone's else entry so that I can share it via other social networks or send by mail to my friends”
Epics A collection of User Stories
Backlog A list of requirements for a Product or Sprint
Activities and ceremonies
Term Definition
Sprints (Iterations) Time-boxed effort to create a “Done” product Increment
Sprint Planning Time-boxed effort to plan the Sprint by the Scrum team
Grooming “Quick” sprint pre-planning , where the whole team required
Daily Stand-ups Time-boxed effort to share the status, usually takes 10 minutes
Sprint Retrospective Time-boxed review of the Scrum Team’s performance during the last Sprint in order to improve in the next Sprint
Scrum Board
ToDo In Dev Dev Review
Ready For Test
In Test Test Review
Ready For
Merge
Do not merge(
On Hold)
Done
Ticket 6 Ticket 3 Ticket 2 Ticket 1 Ticket N
Ticket 5 Ticket N
Ticket 4
QA Engineer role and testing process1. Communication and kick-offs. Define the requirements of the
ticket before it goes to In Development. You need to understand what actually stakeholders want.
2. Outputs from kick-off need to be put to Acceptance criteria of the story
ACs to written in Gherkin language. Example:Scenario 1– login pageGiven user is on the Login PageWhen user fills in the correct credentials in the input fieldsAnd clicks on Submit buttonThen he is redirected to the home page
Why should we use this approach? For the ease of writing acceptance automated tests.
3. Branch testing. Types used: Exploratory + Regression tests.To deliver: evidences + resultsIf story bug – back in Dev. If new one – create another ticket
4 . Writing tests: smoke checklists; automated scripts
5. Improvement ideas.6. Unit and back-end acceptance tests
Development process issues
• New tickets to the current and planned sprint• Huge change requests• Change requests after the kick-offs (time!)
As a result – wrong estimates, sprint pumping, angry team members)
Moving to Kanban
• WIP limit!• Less ceremonies. Kick-off and stand-up is a must• No iterations
Quick Status Filters: In Dev(2), Dev Review, Ready To Test, In Test, In Test Review(1), Ready To Merge
ToDo DEV max 3 TEST max 2 ACCEPT max 4 Done
Ticket 6 Ticket 3 Ticket 2 Ticket 1
Ticket 5 Ticket 7
Ticket 4
Quick Status Filters: In Dev(2), Dev Review(1), Ready To Test, In Test, In Test Review(1), Ready To Merge
ToDo DEV max 3 TEST max 2 ACCEPT max 4 Done
Ticket 6 Ticket 3 Ticket 11 Ticket 2 Ticket 1
Ticket 5 Ticket 7 Ticket 12
Ticket 4 Ticket 8 Ticket 3
PROFIT!
Virtual environments
Vagrant – virtual machine manager which allows you to script the virtualmachine configuration. Works in combination with Virtual BoxCompatible OS: Mac, Windows, Linux
Official site states:Run a single command — "vagrant up" — and sit back as Vagrant puts together your complete development environment. Say goodbye to the "works on my machine" excuse as Vagrant creates identical development environments for everyone on your team.
Actual:• Installation problems(path, etc)• VB version compatibility!• Resources consumption• Sudden issues on different environments
Docker is a tool for building and deploying applications by packaging them into lightweight containers. A container can hold pretty much any software component along with its dependencies (executables, libraries, configuration files etc.), and execute it in a guaranteed and repeatable runtime environment.
• Used by testers• Different containers:
frontend, backend and db
• VPN issues• Jenkins creds
Conclusions
• It’s not all about scrum. You may even mix best methodology practices;
• Agile - process visibility, communication and team play;• Agile tester should have more responsibility and abilities to
improve the product• Configurable vm managing software is not always a thing you
can treat easily and without time consuming work• You have to learn, learn and of course to learn always!
Thank you for attention!
Here should be funny picture…But No.)