Вы находитесь на странице: 1из 15

Lecture Notes Nov 05 2016 Day Five

Agile Methodology
-

Agile is a fast-paced environment


What is Agile testing?
It is a software testing practice that follows the principles of Agile software development it
called as Agile Testing. So what we are trying to explain here is that, any software
development practice which follows the Agile-way of software development (you an named it
as Agile Methodology or Agile Movement) is called the Agile Testing

So what is Agile in Agile Testing? What exactly the term Agile means here?
Agile is an iterative development methodology, where requirements evolve through
collaboration between the customer and a self-organizing team.

(The following grayed out text is an additional explanation which is not discussed in the classroom.)

Iterative:

A way of breaking down a large process into smaller chunks.


Iterative development is a way of breaking down the software development of a large application into
smaller chunks. In iterative development, feature code is designed, developed and tested in repeated
cycles. With each iteration, additional features can be designed, developed and tested until there is a
fully functional software application ready to be deployed to customers.
Typically iterative development is used in conjunction with incremental development in which a
longer software development cycle is split into smaller segments that build upon each other.
Iterative and incremental developments are key practices in Agile development methodologies. In
Agile methodologies, the shorter development cycle, referred to as an iteration or sprint,
is time-boxed (limited to a certain increment of time, such as two weeks). At the end of the iteration,
working code is expected that can be demonstrated for a customer.
Iterative development contrasts with a traditional waterfall method in which each phase of the
software development life cycle is gated. Coding doesnt begin until design of the entire software

application is complete and has gone through a phase gate review. Likewise, testing doesnt begin
until coding is complete and has passed necessary phase gate reviews.
The purpose of working iteratively is to allow more flexibility for changes. When requirements and
design of a major application are done in the traditional method (sometimes referred to
as BDUF or Big Design Up Front), there can be unforeseen problems that dont surface until
development begins. By working iteratively, the project team goes through a cycle where they
evaluate each iteration, and determine what changes are needed to produce a satisfactory end
product
Iteration:

In agile software development, iteration is a single development cycle, usually measured as one week
or two weeks. Iteration may also be defined as the elapsed time between iteration planning sessions.
While the adjective iterative can be used to describe any repetitive process, it is often applied to
any exploratory planning and development process where a desired outcome, like a software
application, is created in small sections. These sections are iterations. Each iteration is reviewed and
critiqued by the software team and potential end-users; insights gained from the critique of iteration
are used to determine the next step in development. Data models or sequence diagrams, which are
often used to map out iterations, keep track of what has been tried, approved, or discarded -- and
eventually serve as a kind of blueprint for the final product.
In general, iteration is the act of repeating.
In mathematics, iteration refers to the repetition of a function

What is iterative (iteration)?

Different stages
Something that can be applied repeatedly
Frequentative
This term used here because in Agile, you dont do the entire development and testing
process all at once. Instead, you break down all the work and the process into different stages.
All those stages are named as Sprints.
The reason why companies are switching to Agile is that it requires team collaboration. By
team collaboration, you can meet deadlines much faster and productivity increases. In a
meeting Product owner, QA team, DEV team and BSA get together in a meeting room and
discuss different aspects of Agile.
Who plays what role in Agile methodology?

1. QA Team They will test and certify the app they are testing. They confirm that the
application is working as per the business requirements and product owner.
2. Development Team
3. UI UX Team
4. Scrum Master He acts as a facilitator. Example: Lets say for example, QA team is
waiting for some requirements and their job is not moving further due to this issue. So
if QA goes and raise this issue to the Scrum master, he will touch base with the
appropriate teams and will obtain the required documents as per the time line. So
here he acts as a facilitator in helping the team to make sure that the progress is going
on, ensures that no ones work got blocked, ensures that everyone is well equipped
with the knowledge as to what is going on, the road map of project time lines,
deadlines, when the QA needs to be finished, when the Development part needs to be
finished, etc are monitored and managed by Scrum Master. He also acts as a shield in
order to prevent or protect the team from people who may influence or interrupt
Influence from external sources will be prevented or eliminated by Scrum Master.
5. Product Owner
-

QA, DEV, UI UX teams are considered as one entity.


Once the developers finish code, they freeze the code. After this code freeze, they may only
change codes in order to fix the bugs. Other than that, no new development takes place after
the code freeze.
After the code freeze, QA will do the regression testing for at least four weeks.

What is Regression testing?

Regression testing is a type of software testing that verifies that software previously
developed and tested still performs correctly even after it was changed or interfaced with
other software. Changes may include software enhancements, patches, configuration
changes, etc.
Regression coverage isn't a question of the number of cases as much as covering the
conditions that;
1) Ensure functionality works,
2) Bugs found have been resolved and
3) A functional area can handle some amount of negative or destructive behavior.
Out of all stories QA team has delivered (UI, Functionality, & non-functionality) a Regression
testing that addresses all above three aspects should be complied in a new Excel file to guide
Regression testing effort.
-

Out of all stories QA team has delivered to the client, for the all the test cases you created
(which are based on the UI, functionality, non-functionality, etc) you take the very important
test cases out of all of them and put them on another Excel file. These test cases are
Regression Testing.
Agile Development and Meetings;

As a QA, you may need to attend 5 different types of meetings when you work in an Agile
Development environment:
1. Grooming / Grooming Session / Backlog Grooming / Backlog Refinement
2. Sprint Planning
3. Daily Scrum Meeting / Standup Meeting
4. Sprint Review Meeting / Sprint Estimation Meeting
5. Sprint Retrospective Meeting
Before we go into the Grooming Session, there will be an important meeting that we need to
attend, which is called Inception Deck Meeting. This meeting is to explain and define the
scope of the project, what is expected from the entire team, launching date, etc. For example,
lets say we are working a project called Project Google. So, as a team member, you would
like to know what youll be working on, what will be the challenges, what will be the scope,
out-of-scope, basic terminologies used in the project, what kind of customers are we
targeting, what is the current rating of the app and what will be our target, etc will be
discussed in this meeting. Either BSA or the Scrum Maser will take up the responsibly to
explain the Inception Deck.
Product Owner, BSA, Scrum Master, Development Team, UI/UX Team, and QA Team are
attending in Inception Deck meeting.
4

UI/UX (User Experience) Team is the one who give Wireframes, Mockups, Copy Decks and
Style Sheets.

http://www.collab.net/sites/default/files/videos/BacklogRefinementMeeting/BacklogRefinementMeeting.htm

Here the first meeting will be the Sprint Planning Meeting, once you planned the Sprint and
how many stories youll be writing. From the following day on-wards youll have Daily Scrum
Meeting. In this meeting youll explain what youll be doing today, what exactly you
accomplished yesterday and any obstacles you came across. After that youll have Sprint
Review Meeting. In this meeting youll discuss how much effort will go into one story and how
many days QA and DEV teams needed. Once this meeting is completed, developers will start
developing the application and QA will have the app build for testing. Once testing is done and
you have the demo to the entire team, youll have Sprint Retrospective Meeting. In this
meeting, the Scrum Master will write few terms on the board, such as what went well in the
Sprint, what went wrong, what improvements needed and escalations.

What Went Well

What Went Wrong

What Improvements
needed

Escalations

What Improvements Needed: Lets say for example, we supposed to create 65 story points,
but we ended up creating 60. One of the story points is incomplete because of any reasons
such as, developers didnt finish the job properly, testers didnt test the application properly,
7

or there are few bugs that prevent the application and the testers to continue testing and you
cannot demo the store if you have that bug. So the improvement would be to improve the
process and tasks on the next Sprint and to complete the tasks and to ensure that the
application is tested properly and certified by the QA team before the demo.
Escalations: For example, an off shore team committed to send few documents on a specified
date and time. However, for some reasons, they failed to comply that commitment and the
process to send out the documents got delayed. This issue will be escalated via Product
Owner or Scrum Master.

For all the 5 meetings mentioned above, the Scrum Master is the one who organizes them.
He ensures that the all team members get invited for those meetings. He is going to shows the
team room and will tell us what exactly going to happen when we work on an Agile based
environment.

The Product Owner is the one who takes ownership of the product. If there is a change or
change in direction is required, or if they want to add any requirements, it needs to be
approved by him. If you create a bug its QAs ownership. If the product goes well, he will be
rewarded by his team.
Cross Functional Development team: The functional development team is consists of
Developers, UI/UX, QA and Scrum Master.
The terminology Product Backlog Item: For example lets say we have 25 Requirements in the
entire project. We created 5 Epics based on the 25 Requirements. Out of the 5 Epics, for each
Epic we created 5 Stories. For each Story, we created 5 Acceptance Criteria (AC). By terming
the word Product Backlog Items, on the physical JIRA board, they write Epic and have 5 sticky
notes underneath. Then Epic 2 and have stories will be there in the Sticky notes.
1. If you have 5 Epics, for example, (Epic 1, 2, 3, 4 and 5), you cannot take the stories
from Epic 1 because you dont have the backend services available (as an example).
What youll do is youll put all the stories in Epic 1 in backlog and youll work on Epic 2
instead of Epic 1 because you dont have the back-end services available.
You can work on Epic 1, and its UI part of it, but it will not be functional when you hit a
button, which requires the service to pull information from back-end part, it will not happen.

Product Backlog Item: whatever we have available and ready to take is not a Product Backlog
Item. These items would be worked on immediately and will be added to the Sprint grooming
session.
When we have the services up and running for Epic 1, then well move back to Epic 1 and take
up those stories from the Product Backlog Item list. Before we take up any stories, the product
owner will prioritize the stories based on his understanding and then well have grooming
session of that story.

10

PBI stands for Product Backlog Item.


Another Example of PBI: You worked on the payment story. In this story you had issues with
Semaphone functionality. The Semaphone is not fetching the Credit Card details as you
enter. This is an important part of this particular story the payment will not go through until
you have the Credit Card field up and running properly. On top of that, youve come closer to
showing the demo, but you still have that bug, which needs to be fixed. In the meantime, the
developers communicating with the Semaphone team in UK about this issue. So what will
happen at this point is that the Product Owner will sit with the team and decide whether she
wants to go ahead with launching the demo. In the demo, you must explain that the
Semaphone functionality is not working at the moment and the rest of the functionalities
11

will be added in the demo. So in order for the whole team as well as for the Product Owner
to know and to inform that the Semaphone part is ignored in the demo, a backlog will be
created in JIRA, either the QA TEAM or Scrum Master will create a bug or a task in order to
ensure that we must re-test the Semaphone functionality again in the entire Story.
So in short, whenever functionality is missing or not working as expected, it will be moved
to Product Backlog (PB) and we test and do the demo for the rest of the functionalities of
the application.
The PBIs are I ndependent, N
egotiable, V
aluable, E
stimable, S
mall and T
estable I NVEST.
In general, whenever we finish other stores, if we have time, whatever the backlogs we
created, we will have a separate Sprint for all those backlogs and based on them developers
develop the code and we will have the test cases ready. We dont need to create separate test
cases as weve already created test cases, but the issue was with the development.
Before we go any further we will groom a story first. Well do this in JIRA.

Hand-on
-

Story Number: WOW-64 Fido App Logout (Example)


This story tells about the app login process when user tried to logout from the app. Scrum
Master will present the story to you and if you have any questions, such as Acceptance
Criteria doesnt make any sense, or if you think that we are missing some information, then
youll have a discussion on it with the Scrum Master.
Before the story comes to the grooming session, the BSA and Product Owner will have a
meeting to create the story and that meeting is called Pre Grooming. They will ensure that
whatever the description they are giving in the story is well defined. So the grooming session
will go smooth.
Is Pre Grooming session held prior to Inception Deck? No, Pre Grooming session will be held
after Inception Deck and before the Grooming session.
Grooming session is to do the gap analysis.
We must also have the updated Wireframe, Copy Deck, Mockup, and Style Sheet. If you have
accounts that also will be part of the story. At this point, everything will be ready we can call
it Definition of Ready.
In grooming session the scrum master provides detail about the project; As an existing Fido
customer youll be able to logout of the APP and go back into the Device Mode.
1. What exactly is the Device Mode? We enter the Telephone number and we receive
four digits Authentication Code (CTN Authentication). Once you entered that youll be
navigated to the Usage page. In this Usage page, there will be an option for you to
login (click the Arrow) in order to make payments. This Usage page is the Device Mode
the APP authorized you as a legit user but if you want to make payment or move
further with accessing other information, youll have to click the Arrow. Now you
can make payments.

12

2. What will be the Active Session? As soon as you logged in, the session starts. After you
logged out that session will end. Each session may have a unique number attached to
it.
3. Cache As soon as a user logged in, the APP will store the UUID, credentials, and your
device details. After the user logged out, these information/data will be cleared. These
data will be stored in cache memory or cache location. As soon as the user clicks
Logout, if all the cache details are cleared from the screen, that means that the
Logout process is working and it is successful.
4. How would you know that a user properly logged out? The developers give a build
which has a logout button and the code being displayed on the page when you hit
Logout.
As a QA we must raise a question if Wireframe, Copy Deck, Mockup, or Style Sheet is not
attached with the story.
We must not accept the story in Grooming without these attached to the story and until it
meets our criteria. Our criteria are termed as Definition of Ready.
One of the roles of a Scrum Master is to ensure that the team knows what will be the
Definition of Ready and Definition of Done.
Definition of Ready The story should be ready for coding (for developers) and it has enough
information for the QA team in order to create test cases out of it.
Definition of Done Properly coded by the developer, tested by the QA team, and
successfully demonstrated to the entire team either by QA or Developer. It should not have
any outstanding work to be done or issues to be fixed. We should not go ahead with new
stories until the current stories are finished.
Definition of Ready and Definition of Done may vary for companies to companies.

Other Pointers
-

The word Settings in French is Paramtres. The letters of this French word is close to 30%
more than the English word Settings. This becomes a big challenge for the UI/UX team to
accommodate into the APP. This gives an opportunity for QA team to raise many bugs out of
it.
If you are testing the French version, DO NOT just copy the English version and paste them
into Google Translator to get the French translation. We MUST go by the documents (Copy
Decks) for the French Version given to us.
Every company or project has a team called Brand Management. Their responsibility to ensure
that proper terminologies are used based on the Canadian French Dialect.
In the Grooming Sessions, if you have questions in the Acceptance Criteria (AC), make sure
you are asking valid questions. Dont ask anything that is not related to the story youll be
working on.
In these meetings, youll have high visibility, meaning everyone will watch and listen while you
explain or ask something. If you ask valid questions, the Product Owner will come to know
that you know what you are doing and this will build good impression about yourself. He may
keep you in mind and will recommend you for other projects as well.
13

If you dont ask valid questions, youll get isolated and no one will recognize you.
When you are in the Grooming session, make sure to focus 100% on the story. Dont get
yourself distracted from the story. If you follow the story carefully, you will definitely have
questions on that.
UUID Universal Unique Identification (or Identifier): The unique ID of the device. There will
be a Unique UUID for every iOS device.

14

Cache only clears info specific to the user who logged in; his profile User ID, Password, and
Device ID.
Once the user logs out User ID, Password, and Device ID will be cleared. The users CTN details
will not be deleted. CNT info will only be deleted if you uninstall and re-install the APP.
Story Points Level of effort that is needed in order to finish the story.
Why are we using the story points? We are using the story points to gage the level of effort
that is needed from the DEV and QA team in order to ship a particular story to the business
team.
The numbers that can be used in the story points are: 1, 3, 5, 8, 13, 21, 30
1. 1 We use one story point for a story which has only one acceptance criteria and if
you are checking only one functionality.
2. 3 if you have two functionalities to test and if you have one or two days of work
combined QA and DEV, then you can use 3s tory points.
3. 5 or 8 if you are testing 3 or 4 different functionalities and it requires a lot of work
from the DEV team, and it required to test on multiple devices across English and
French, and also if it takes three or four days, then you can size the story to 5 or 8
Points.
As soon as you joint a team which is already started working on a Sprint, the Scrum Master
will have a one-on-one session with you and he will explain what the project is where you can
get the resources to work on this project.

15

Вам также может понравиться