Software Quality Assurance (SQA) is essential in assuring the quality of software development. Topics such as SQA core concept, QA & developer relationship, common mistakes made by developers, cost of bugs at different stages of software development, best practices to avoid silly bugs in development stage and thus reducing the probability of getting a bug by the clients - are discussed in the slides.
2. Hello!
I am Tariqual Hassan
I am here because I love to share my knowledge.
So, let’s see what’s inside the box.
3. QA in Software Development
What is quality?
Who we are?
Why we are doing
IEE Glossary:
Degree to which a system,
component or process meets
specific requirements and
customer or user needs or
expectations
ISO Definiton:
The totality of features and
characteristics of a product or service
that beat on it’s ability to satisfy
specified or implied needs
“Set of systematic activities providing evidence od the ability of software
process to produce a software product that is fit to use” by G.Schulmeyer and
J.McManus, Software Quality Handbook, Prentice Hall, 1998
13. QA team interception
✣Found functional issues
✣Found UI issues
✣Found security issues
✣Found usability issues
Okay too much issues…. Need to fix them
all.
14. Project managers
Dev team should fix the problems in a day, QA should finish testing in half
day. Clients are waiting.
16. Dev’s Mind:
I should provide a confirmation
message before delete this
record.
Shouldn’t I give an alert before
saving a content
It work’s in my browser.
UI can be better.
Error message should not be
propagated to user.
A Dev’s Mind
Dev’s Devil Mind:
Ohh… it’s not your job.
Users are not dumb. They
should get this point.
Why user use that browser. He
should use like mine.
UI is not my task. It’s the
designer job
It’s an error message. It should
be visible to user. I have no time
for a formatted message.
20. Input Data verification. Making
a checklist of what should be
allowed and what should not be
allowed.
21. Bloated Response: Page filled with high
quality image and scaled down with the use
of ‘img’ element. Files linked from the
page(css and js) are large. Source HTML
markup is complex and extensive.
Page rendering should be slow.
Consider the total cost for a request and
response.
23. Writing forking code: Developer may write
codes to respond each possible scenario.The
code becomes a heap of if statements, forking
in all sorts of directions.
If a new version of the browser has come,
then management of those if blocks becomes
very difficult.
24. Designing a site unresponsively: I
am developing the site for the
desktop .. why should a user visits
the page from mobile?
42. Our process is easy
Develop
Perform a
Dev test
Call for a
short QA or
pre-QA
43. Let’s review some concepts
Agile
Changes should appear at
any point. So better code
review will provide better
maneuverability.
Process
Always follow a process.
Make it tuned for a
perfect fit to the team.
Every process should
NOT fit every team
Bug Prioritization
Learn how to give priority
to a bug. Bugs should be
prioritized.
Fix the core issue
Fix the core issue which
causes the bug scenario
rather than fix it in a
temporary manner.
Freeze your code
Code freeze should be there
before deployment
operations
Ethics
Bug will be there no matter
how better testing is done,
but it will only acceptable if
the bug is not in a certain
path.
44. Probability for a bug
Bugs Max Defects
Max Client
Reported Issues
Development x x-1 -
PreQA x-y - -
Testing ((x-y)-z)=N - N-1/N!