A Short IntroDUCTION to
(the dark Side of) QA
BASED ON Nishant Pandey SLIDES
Agenda
- What QA does
- What TESTING really means
- Aplication Vs Products
- V&V
- Bugs
- Web Test
What a QA does

What They want us to do:

What they Think we Do:

What we really do:

value through testing means raising the quality or reliability of the program.
Finding and removing errors.
QA VS QC
Quality Control
is the process which usually includes inspection and audit operations to segregate bad from good
Quality Assurance
is a process that focuses upon each and every role and their responsibilities in the dev process and checks whether they are being accomplished as per the guidelines
QUALITY CONTROL QUALITY ASSURANCE
Concentrates on product Concentrates on process
Done after product is built Done throughout life-cycle
Defect Detection & correction Defect Prevention Method
It is a line function It is staff function
What Testing REALLY means
“TESTING IS THE PROCESS OF EXECUTING A PROGRAM/APP WITH THE INTENTION OF FINDING ERRORS.”
TESTING CAN SHOW THE PRESENCE OF BUGS BUT NEVER THEIR ABSENCE.”
EDSGER W. DIJKSTRA
Dijkstra received the 1972 ACM Turing Award for fundamental contributions in the area of programming languages
Dijkstra received the 1972 ACM Turing Award for fundamental contributions in the area of programming languages
Application Vs Products
Application
PRODUCT
Developed for specific market
Solving some Business Problem
End user are not involved in Dev
v & v
Two things contribute to unhappy customer , Late Delivery &
A bug is generally referred to as a feature in the application that does not work according to customer's expectation . (Business def.)
BS 7925-1: Bug--generic term for fault, failure, error, human action that produces an incorrect result.
Bug is Basically a terminology for testers
Why : Due to an unspecified or misunderstood requirements or a mistake while developing the Application
SOME DEFINITIONS
DEFECT, ERROR, BUG, FAILURE AND FAULT
ºº
A mistake in coding is called Error
Error found by tester is called Defect
Defect accepted by development team then it is called bug
Build does not meet the requirements then it Is Failure.”
COST OF BUG

Bug Lifecycle
Bug life cycle...continued.
In the Life cycle will result in a higher return on investment (ROI)
CATCH THEM EARLY !
The cost of fixing a bug differs depending on the stage of development it is caught in ...
- Requirement Stage
- Coding
- Integration Testing
- Testing Stage
- Production Stage
Key takeaway
Finding a bug later in the life cycle of the
software / Web App costs more.
The greatest ROI is to find bugs early.
Web Testing
-
Functionality Testing
- Usability testing
-
Compatibility testing
-
Performance testing
-
Security testing
Functional
Functional testing verifies that each function of the software application operates in conformance with the requirement specification. This testing mainly involves black box testing and it is not concerned about the source code of the application.
cont'd..
Ex.
Tool
Usability
Usability testing generally involves setting a series of task for people to complete and noting any problems they encounter -It's as simple as that !
Don't make me think!
Usability is defined by Five Quality Component
How easy to accomplish basic task the first time they encounter design ?
Cont'd
Usability testing What to test ?
Four Focal Points of Design
Usability Testing Methods
- Card Sorting
- Card sorting is a structured exercise that asks volunteer users to sort a list of sample of content into logical groupings.
- Card sorting comes in two flavours:
- a) open card sorting b) closed card sorting.
- Tree Testing
- Tree-testing is a lesser known UX method but can substantially help with improving problems in navigation.
- Success rate | Speed rate | Directness rate
Usability Tools
Compatibility
Compatibility is nothing but capability of existing or living together. In normal life, Oil is not compatible with water, but milk can be easily combined with water.
Tools
Performance
IDEA BEHIND PERFORMANCE TESTING IS TO CHECK AN APPLICATION'S
Scalability
To determine the maximum user/transaction load that application can sustain and to increase its capacity if required
A study at Yahoo found that on average only 10-20% of total page loading time is spent on the back-end and other 80-90% time is spent on the front-end.

COMMON TYPE OF PERFORMANCE teST
This is usually done at app development level using HTTP debugging profiling tools.Fix performance issues at a single user level if the response time is high.
load testing is done to check application's performance at a predetermined load . The load that the application is subjected upon is based on the peak load that the application witnessed in the last release. As per planning standards, performance testers prefer to go for a value that is 125% of the last release load value.
Benchmarking tests are usually the initial multi-user tests done on applications with minimal load . The transactions’response times are benchmarked in these tests and made better in subsequent releases.
Cont'd Performance Testing
is done to determine the breaking point of an application. The user load is increased gradually till the time the application breaks.
SLAs are set for each transaction in terms of response time values and failure rates. The user load upon the application is increased in an incremental manner and the point is determined from where SLAs are violated. That point is considered as the capacity of the application
Metrics to monitor (SS)
Cont'd
speed at which data is sent and received on the interface
Performance Bottlenecks (CS)
-
Page size | No. of request
-
Rendering time | Parsing Time
-
Load time calculated asT total = Tn_end - Tn_start
front-end Performance Tools
PERFORMANCE Tools
performance Test scenarios
- if page load time is within acceptable range
- page load on slow connections
- Response time for any action under light, normal, moderate and heavy load conditions
- performance of database stored procedures and triggers
- database query execution time
- for load testing of application
-
Check for stress testing of application
-
CPU and memory usage under peak load condition
security
OWASP Top -1o

Some Security Testing Terms
This is a weakness in the web application. The cause of such a “weakness” can be bugs in the application, an injection (SQL/ script code) or the presence of viruses.
is the process of inserting SQL statements through the web application user interface into query that is then executed by the server.
Web applications communicate additional information between the client (browser) and the server in the URL. Changing "information" in the URL may sometimes lead to unintended behavior by the server.
cont'd
When a user inserts HTML/ client-side script in the user interface of a web application and this insertion is visible to other users, it is called XSS.
Security test Scenarios
cont'd
security testing tool
SQL Inject Me: for testing SQL injection vulnerabilities
XSS-Me: for testing XSS vulnerabilities
QA Overview Workshop
By xavierval
QA Overview Workshop
Intro to test methods & tools
- 323