GCSW Class 2
GCSW Class 2
GCSW Class 2
1. Homework revision
4. Best Practices
* Testers can be seen as the interface between the end user and the project
team and bring knowledge and a general overview of the functionality of the
delivered product. Also can deliver additional information to both the end-
user/customer and development team to bridge any gaps in their
knowledge.
WTF?
What is Quality?
Quality is extremely hard to define, and it is simply stated: “Fit for use
or purpose.” It is all about meeting the needs and expectations of
customers with respect to functionality, design, reliability, durability, &
price of the product.
What is Assurance?
Assurance is nothing but a positive declaration on a product or
service, which gives confidence. It is certainty of a product or a
service, which it will work well. It provides a guarantee that the
product will work without any problems as per the expectations or
requirements.
What is Quality Assurance in SW Testing?
● Defined as a procedure to ensure the quality of software products or
services provided to the customers by an organization. Quality
assurance focuses on improving the software development
process and making it efficient and effective as per the quality
standards defined for software products. Quality Assurance is
popularly known as QA Testing.
Quality Assurance: Complete Process
Quality Assurance methodology has a defined cycle called PDCA cycle
or Deming cycle. The phases of this cycle are:
Software Quality Control
● It is a Software Engineering process used to ensure quality in a product
or a service. It does not deal with the processes used to create a
product; rather it examines the quality of the “end products” and the final
outcome.
Difference between QA & QC
● Sometimes, QC is confused with the QA. Quality control is to examine
the product or service and check for the result. Quality Assurance in
Software Engineering is to examine the processes and make changes
to the processes which led to the end-product.
Let’s have some fun!
Let’s have some fun
● Go to
https://userinyerface.com/
and let’s have some fun.
Finish it in 10 min.
Best Practices
Best Practices
1. Test one thing at a time: tests should have clear objectives. Each test
should focus on a feature or look at things like user interface or security.
2. Understand the types of testing on offer: there are lots of different types
of tests - from load testing to user acceptance testing (UAT) - so make sure
you understand the differences and how to use them.
3. Use regression tests: testing a main feature once isn’t enough. New
additions to the code repository can interfere with features that previously
passed tests.
4. Report and track bugs: determine how bugs will be reported and what
kind of data is needed. Will you use an open-source bug tracking tool, or build
one that’s specifically suited to your workflow?
Best Practices
5. Leverage analytics: decide which QA metrics to track. Keep records of every test
conducted and use this data to determine where bugs are likely to occur. This data
will help you to develop new tests that address problem areas.
6. Choose the right environment for tests: try covering a wide range of scenarios,
including different devices, OS and user profiles.
7. Use unit and integration tests: unit testing will isolate each component of your
app, while integration tests will assess how well each subsystem works. Run unit
tests in parallel to save time, but don't move onto integration tests until you have
ensured that individual components work like they should.
8. Don’t neglect the UI: use functional tests performed by human testers to perform
end-to-end scenarios and get a feel for the UI of the app. It might be best to wait until
you have fixed issues detected during unit and integration tests.
Testing Life Cycle
Testing Life Cycle
Requirement Analysis
Deliverables
Deliverables
● Test cases/scripts
● Test data
Environment Setup
Test environment decides the software and hardware conditions under
which a work product is tested. Test environment set-up is one of the
critical aspects of testing process and can be done in parallel with Test
Case Development Stage. Test team may not be involved in this
activity if the customer/development team provides the test
environment in which case the test team is required to do a readiness
check (smoke testing) of the given environment.
Environment Setup
Activities
Deliverables
Deliverables
Deliverables