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

Software Functional

Testing Checklist
Thanks for reading the checklist. It helps QA and engineering
leaders improve web and mobile app customer experiences by
thinking more strategically about functional, regression, and
exploratory testing.

Skip to the end to print out a one-page version of the checklist!


Table of contents

What is functional testing? �����������������������������������������������������������������������������������������������������������������������������3

Step one: Integrate your systems and tools ��������������������������������������������������������������������������������������������4

Step two: Before you begin functional testing ���������������������������������������������������������������������������������������5

Step three: Write clean test cases for better results ��������������������������������������������������������������������������6

Step four: Build your tester pool ������������������������������������������������������������������������������������������������������������������7

Step five: Run initial functional tests �����������������������������������������������������������������������������������������������������������8

Step six: Filter results �����������������������������������������������������������������������������������������������������������������������������������������9

Applied Example Using a Functional Testing Feedback Loop ������������������������������������������������������ 10

Your printable checklist ��������������������������������������������������������������������������������������������������������������������������������� 13


What is functional
testing?
Functional testing validates that Types of Functional Testing
web and mobile applications are
• Acceptance testing
executing actions as they should.
• Alpha testing
For example, can a user log into
an app? Can she enter credit • API testing Functional testing is a type of software
• Beta testing
card information? When you add testing that verifies product features
a photo, does it get added to the • Black box testing
digital asset library?
according to requirements, identifying all
• Component testing

• Integration testing
areas where performance doesn’t meet
• Production testing expected results.
• Sanity testing

• Smoke testing

• System testing

• Regression testing

• Unit testing

• UI testing

Software functional testing checklist 3


Step one:
Integrate your systems
and tools
If working with a testing partner, Integrate with test management
make sure to integrate your tools and issue trackers like Jira,
GitHub, Asana, Trello, Azure,
test management tools with
Shortcut, and Pivotal Tracker.
their software testing platform
and APIs. This automated Make sure your testing partner can
approach dramatically improves review stories from Jira.
communication and the speed of
Do the test cases written for each
overall testing. story link to Jira so you can review
and verify the scripts for each story? TestlioConnect for Jira - View Here

Software functional testing checklist 4


Step two:
Before you begin functional testing
Consider a collaborative approach Define critical stakeholders from QA, Ask your QA or product manager Decide whether or not test cases could
to test case preparation. Whether product, and engineering. to capture video and screenshots be combined or if you need to break up
of the product in development for one concept into multiple test cases
you write your test cases or Talk with product leaders to learn reference during testing. (such as upload a photo, add a photo
outsource them to a testing more about the new updates tag, search a photo tag).
vendor, a bit of collective prep or features being released, and Start listing all of the functions and
work amongst key stakeholders understand the depth and breadth of features that need to be included Dedicate ongoing stand-ups to check
goes a long way to improve testing the testing required. in the testing round. Login and play in on new features, stories, and desired
around with the app to recall any outcomes.
efficiencies. Make sure whoever owns feature additional functionality in those
stories (developer, product owner, product areas.
scrum master, or project manager)
adds Acceptance criteria and Map out “what if “ scenarios to
updates them in Jira. increase the effectiveness of your
overall testing.

Software functional testing checklist 5


A great functional test case has a good level of detail and
information (e.g., test data, execution preconditions, expected
results) to ensure that all the functionality under test is working

Step three: as expected. Good testing results not only uncover bugs but they
also provide an overview of the coverage - what was tested, what

Write clean test cases for


is working, what is not working - in order to assess risks and make
release-related decisions.

better results
— Kaisa Paavo, Engagement Manager, Testlio

Accurate functional test cases Name and describe the function or You want to make sure that your test cases reflect the actual state
feature. of the application. So, for example, you want to update test cases
and regression suites help ensure after a feature has changed. This reduces noise because the tests
that the app is stable after code Be very clear on the objective. uncover issues, not a bad test case.
changes, reduce app maintenance, Define the purpose of the test. — Oksana Lang, Engagement Manager, Testlio
and cut customer support costs
Define preconditions such as being
due to production bugs.
logged in as a user with a certain
subscription level. Good test cases are all about scenarios. We come up with basic
We recommend using a test
flows and then ask testers to explore and come up with more
management tool to author test cases. scenarios to test. If the client agrees with the new flows, we
Include “what if” scenarios to test,
This way, you input the information incorporate them into our weekly functional regression tests.
such as “what if the network goes
needed on the test case, assign it to a
down mid scroll?” — Marielle Tamkorv, Engagement Manager, Testlio
tester, and allow them to connect this
test case to a bug report if needed. Write clear steps that outline what to
do and what results to expect.
What makes a great functional test We think of scenarios the client never would have come up with. For
case? See the tips from our experts. Validate if the test passed or failed example, a perfectly good test case might test a normal flow like
with the option to upload an image app login using a correct password. But, what about the opposite,
bad flow - app login using the wrong password? Translating “what
for UI testing.
if” scenarios into clear test cases takes experience and creativity.

— Paulo Feitosa, Testing Manager, Testlio

Software functional testing checklist 6


Pros and cons of writing your
own test cases Step four:
Not everyone has the time or skilled
resources to write test cases. In
Build your tester pool
addition, lousy test cases create
noise. So let’s look at the pros and Imagine developers in New York finishing In addition to global locations, consider Tips for building your tester pool:
cons of writing your own test cases their workday and handing builds to how to compensate testers. Pay-per-
Look for tester ratings, profiles, and
vs. outsourcing the work to experts. testers abroad drinking their first cup bug models encourage high-volume
leverage a tester recommendation
of coffee. Why not build a team of issue detection. In contrast, testers paid
engine to create, update, and extend
testers in time zones that align with your by the hour detect more critical issues,
Pros tester groups.
downtime? offer clear reproduction steps, and
Writing test cases challenges product report on what’s working as intended. Select testers from the countries
owners to think differently about user “We typically join Friday stand-ups so The difference in quantity vs. quality and time zones that meet your
stories and design prototypes. First, our client can share their needs and the
they must consider all the possible user
impacts management and dev time. needs.
build. Then, our freelance testers burst
scenarios. And then translate them into
into action on Saturday, and we deliver “It’s just as important to have the Identify which device and OS
easy-to-follow test cases for testers to
execute. the test results Sunday, at the latest. peace of mind that your software combinations require testing and
The client loves this timing because it works as it is to know if it’s broken.” - match those needs with the tester
Cons
aligns with their sprints,” Testlio Testing Testlio Engagement Manager Jennifer pool.
Writing test cases takes time, dedicated Manager, Paulo Feitosa. Khosravi.
resources, and a unique ability to break Make sure your testers have a similar
down functionality from a user’s point of
profile to your customers and end-
view. In addition, a single product owner,
users.
QA, or testing manager cannot come up
with all possible test scenarios. For these
Consider paying testers per hour
reasons, many companies outsource test
case writing. It saves time and introduces
rather than per bug, as it incentivizes
a diversity of perspectives, environments, deeper testing.
and devices to your test cases.

How to leverage freelance testers? Learn how

Software functional testing checklist 7


Step five:
Run initial functional tests
Your test cases are written and Align runs with builds from your CI/
testers ready. Set. Go. CD systems.

Leverage a single test management


Run functional tests during new
platform so your test cases,
feature development to find bugs
runs, and issue reporting operate
early in the cycle.
seamlessly in one location.
Combine a suite of functional tests
for full app regression testing to
confirm that apps work as intended
(or have issues after new features
are merged to the main branch).

Testlio Runs module

Software functional testing checklist 8


Step six:
Filter results
Perhaps the most valuable testing Review test results and reproduction Push the results to the issue tracking
outcome for your dev team is the steps before reporting them to the system for developers to begin
dev team. There may be known fixing the bugs. Remember that your
testing results. Results should offer
issues or lower priority bugs that testing recap should include what’s
traceable actions with visibility
slip through the cracks, and filtering working and what’s broken to help
into the entire testing journey: them saves developer time and decide if it’s ok to release.
what’s tested, when it’s tested, frustration.
what devices are tested, costs, Consider app instrumentation
Make sure the results include clear to equip testers to automatically
outcomes, and recommended
steps to reproduce with logs/ present screenshots, network
actions.
screenshots/videos. This saves time variables, location information,
by helping the developers quickly versioning, configurations, hardware,
debug the issues. OS, and more. The additional data
helps developers reproduce issues
more quickly.

Curious about app instrumentation? Learn more here

Software functional testing checklist 9


Step one: Step two:
Applied Example Test case authoring and first round of Author regression suites and run regression
functional testing for new features testing to match ad-hoc, weekly, bi-weekly,
Using a Functional 1. We participate in sprint planning meetings, demo
and monthly client sprints

Testing Feedback sessions, and review client-provided wireframes and


development tickets. We also download the app to
1. We communicate with the client bi-weekly, including
attending stand-ups to keep aware of upcoming

Loop experience it as an end-user.

2. We map out the new features and author functional


testing needs and receive new builds to test.

2. Client hands-off builds at any time (often on Fridays


test cases covering both happy and negative paths. for weekend testing).
Whether you’re releasing new features daily or
aligned with sprints, the pressure is on to code, 3. We review the list of test cases with the client 3. Before running the regression test, we often run a
build, test, and release quickly. We recommend and discuss any feedback and modifications, if quick smoke test to ensure the build is working.
necessary.
implementing a functional testing feedback loop
4. Based on the client’s need, we begin running
to build test cases that grow with your features. 4. We set up a run, and our testers conduct functional regression testing. We run the regression tests on
testing to validate both happy and negative paths and Saturday for Friday builds and present results on
Here’s what the functional testing feedback loop identify issues. Validating only the happy path is a Sunday, at the latest.
looks like for our clients at Testlio. limitation as it causes escaped issues.
5. Depending on the sprint and testing cadence, the
client’s dev team begins to fix issues.

Software functional testing checklist 10


Step three:
One QA or testing manager can’t come up with all possible Optimize and enhance test scripts through
test scenarios. But, when you have five people exploring structured exploratory testing
the same thing you see the creative power of testing.
Regression tests sometimes fail to catch all the issues,
Testers think differently, work in different environments,
so we supplement them with open-ended exploratory
and use different devices. That’s why we often augment testing to uncover more negative path scenarios.
regression tests with structured exploratory testing. When
you see how creative testers get, it’s beautiful. 1. We first create structured exploratory test scenarios.

2. Senior testers with limited direction explore to


uncover issues.

3. We analyze the issue reports and filter out known


issues to share with the client.

4. With client review and feedback, we update the


Marielle Tamkorv regression test suites to include the new functional
Engagement Manager, Testlio tests.

Software functional testing checklist 11


Conclusion
Functional testing is perhaps the most critical type of software
See how Testlio
testing, as it validates if your product features work according
to their intended requirements (or don’t work as intended). In
supplements your
either case, quickly learning about a fully functional app or one
laden with bugs is mission-critical for more confident releases.
internal QA and
Following the steps within this checklist is your fast track to automation processes
more efficient software testing. In addition to the list of actions,
we hope you take advantage of the functional testing feedback
loop that leverages functional, regression, and exploratory Learn More
testing. It’s a tried and true approach that will lead to better
end-user experiences.

Software functional testing checklist 12


that need to be included in the testing Select testers from the countries and time This saves time by helping the developers
Software round. Login and play around with the app
to recall any additional functionality in those
zones that meet your needs.

Identify which device and OS combinations


quickly debug the issues.

Push the results to the issue tracking

Functional product areas.

Map out “what if “ scenarios to increase the


require testing and match those needs with
the tester pool.
system for developers to begin fixing the
bugs. Remember that your testing recap

Checklist effectiveness of your overall testing.

Decide whether or not test cases could be


Make sure your testers have a similar profile
to your customers and end-users
should include what’s working and what’s
broken to help decide if it’s ok to release.

combined or if you need to break up one Consider app instrumentation to


Consider paying testers per hour rather
Step one: Integrate your systems and tools concept into multiple test cases (such as equip testers to automatically present
than per bug, as it incentivizes deeper
upload a photo, add a photo tag, search a screenshots, network variables, location
Integrate with test management tools and testing.
photo tag). information, versioning, configurations,
issue trackers like Jira, GitHub, Asana,
Step five: Run initial functional tests hardware, OS, and more. The additional data
Trello, Azure, Shortcut, and Pivotal Tracker. Dedicate ongoing stand-ups to check
helps developers reproduce issues more
in on new features, stories, and desired Run functional tests during new feature
Make sure your testing partner can review quickly.
outcomes. development to find bugs early in the cycle.
stories from Jira.
Combine a suite of functional tests for full
Do the test cases written for each story Step three: Write clean test cases for better
app regression testing to confirm that apps Functional Testing Feedback
link to Jira so you can review and verify the results
work as intended (or have issues after new Loop
scripts for each story? Name and describe the function or feature. features are merged to the main branch).
Step one: Test case authoring and first
Step two: Before you begin functional testing Be very clear on the objective. Define the Align runs with builds from your CI/CD round of functional testing for new features.
purpose of the test. systems.
Define critical stakeholders from QA, Step two: Author regression suites and run
product, and engineering. Define preconditions such as being logged Leverage a single test management regression testing to match ad-hoc, weekly,
in as a user with a certain subscription level. platform so your test cases, runs, and bi-weekly, and monthly client sprints.
Talk with product leaders to learn more
about the new updates or features being Include “what if” scenarios to test, such as issue reporting operate seamlessly in one
Step three: Optimize and enhance test
released, and understand the depth and “what if the network goes down mid scroll?” location.
scripts through structured exploratory
breadth of the testing required. Write clear steps that outline what to do and testing.
Step six: Filter results
Make sure whoever owns feature stories what results to expect.
Review test results and reproduction steps
(developer, product owner, scrum master, or Validate if the test passed or failed with the before reporting them to the dev team.
project manager) adds Acceptance criteria option to upload an image for UI testing. There may be known issues or lower priority
and updates them in Jira.
bugs that slip through the cracks, and
Step four: Build your tester pool
Ask your QA or product manager to capture filtering them saves developer time and
video and screenshots of the product in Look for tester ratings, profiles, and frustration.
development for reference during testing. leverage a tester recommendation engine
Make sure the results include clear steps to
to create, update, and extend tester groups.
Start listing all of the functions and features reproduce with logs/screenshots/videos.

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