Software Testing
Software Testing
Software Testing
SUMMER 2021
MD. RAFI-UR-RASHID
LECTURER, DEPT. OF CSE, UIU
Why This Lesson?
No customer likes to buy faulty products.
Same goes for the software industry
What is software testing?
From the outside, you are testing its functionality against the specs
Less time-consuming
Disadvantages
It will miss bugs in the implementation that are not covered
by the specification
More time-consuming
Functional testing
FUNCTIONAL TESTING is a type of software testing whereby the system is
tested against the functional requirements specifications (FRS).
Functions (or features) are tested by feeding them input and examining the
output.
This type of testing is not concerned with how processing occurs, but rather,
with the results of processing.
During functional testing, Black Box Testing technique is used in which the
internal logic of the system being tested is not known to the tester.
Non-Functional/ Technical testing
Technical TESTING is a type of software to check non-functional aspects
(performance, usability, reliability, security etc.) of a software.
Advantages
Identification of unexpected errors
Low costs
Wider population / environment
Disadvantages
Lack of systematic testing
Low quality error reports
Acceptance testing
Beta testing
Regression
testing
Static & Dynamic testing
10%~15% of developer
times
= $15,000,000 / Week
Code Review Workflow
Author
Writes Edits Abandon
Code Code
Review
Request No
… Accepted?
Merge
Accept
Yes
Reviewer
Reviews
Code
Yes
Developer’s Notifies
Local Push to Gerrit/github
Branch
Approved
Reviewer
Notifies developer No
Developer
Code Review Tools
Gerrit: https://code.google.com/p/gerrit/
Phabricator: https://phabricator.org/
Crucible: https://www.atlassian.com/software/crucible
Issues identified during code reviews
It´s difficult to have every piece of work critiqued by peers and to have
management evaluating and measuring defect density in your code.
While it´s easy to see defects as purely negative, each bug is actually
an opportunity for the team to improve code quality.
Other Benefits of Code review 38
Project awareness
Knowledge dissemination
Thank You