2. Agenda
SW Development Life Cycle.
SW Testing or SW Quality Control.
Why testing!
Quality Control Vs. Quality Assurance.
How to start your career in SW Quality.
Test Cases.
Bug Life cycle.
Function Test and Non Function.
Testing process
How to be good tester
Testing Freelance sites
8. Software Testing is necessary because we all make
mistakes. Some of those mistakes are unimportant, but
some of them are expensive or dangerous. We need to
check everything and anything we produce because
things can always go wrong –humans make mistakes all
the time.
Why testing ?
12. - A Norwegian bank ATM consistently dispersed 10 times the amount required.
- A software flaw caused a UK bank to duplicate every transfer payment request for
half an hour. The bank lost 2 billion British pounds!
- Titanic.
- Companies bounty.
Examples of known bugs
21. - Black Box test : method of software testing that examines the functionality of an application without
peering into its internal structures or workings. This method of test can be applied to virtually every level of
software testing: unit, integration, system and acceptance.
- White Box test : testing technique, that examines the program structure and derives test data from the
program logic/code. The other names of glass box testing are clear box testing, open box testing, logic driven
testing or path driven testing or structural testing.
- Unit test : process in which the smallest testable parts of an application, called units, are individually and
independently scrutinized for proper operation. Unit testing is often automated but it can also be done manually.
- Integration test :is the phase in software testing in which individual software modules are combined and
tested as a group. It occurs after unit testing and before validation testing.
Functional Testing types
22. - Smoke test / Sanity : testing to reveal simple failures severe enough to reject a prospective software
release. A smoke tester will select and run a subset of test cases that cover the most important functionality of a
component or system, to ascertain if crucial functions of the software work correctly
- User Acceptance test : the last phase of the software testing process. During UAT, actual software users
test the software to make sure it can handle required tasks in real-world scenarios, according to specifications.
- Regression test :is a type of software testing that verifies that software that was previously developed and
tested still performs correctly after it was changed or interfaced with other software. Changes may include
software enhancements, patches, configuration changes, etc.
Functional Testing types
23. - Performance test : is a type of testing intended to determine the responsiveness, throughput, reliability,
and/or scalability of a system under a given workload.
- Load test : type of software testing which is conducted to understand the behavior of the application under a
specific expected load. Load testing is performed to determine a system's behavior under both normal and at
peak conditions.
- Stress test : It involves testing beyond normal operational capacity, often to a breaking point, in order to
observe the results. used to determine the stability of a given system.
- Usability test : is the best way to understand how real users experience your website or application. Unlike
interviews or focus groups that attempt to get users to accurately self-report their own behavior or preferences, a
well-designed user test measures actual performance on mission-critical tasks.
Non Functional Testing types
24. - Security test : a testing technique to determine if an information system protects data and maintains
functionality as intended. It also aims at verifying basic principles as following (Confidentiality, Integrity,
Authentication, Authorization, Availability).
Non Functional Testing types
25. Communication.
Good observer.
Testing technique skills.
Octopus mind.
Leadership.
Analytical and judging skill.
Negative thinking.
Know Tools (automation, performance, IMS, …etc )
How to be good tester