Software Quality Assurance Lecture #8 By: Faraz Ahmed.

Post on 26-Dec-2015

220 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

Transcript

Software Quality Assurance

Lecture #8By: Faraz Ahmed

Contents

0Course Outline0Marks Distribution0Fundamentals of Quality Assurance0Discussion0Reference

Static Testing

0 Uses a checklist to identify whether standards are being followed.

0 Code is not actually run for this testing. Skimming of code is done.

0 Can occur in Coding, integrating and deploying.

0 Walkthroughs and inspections are types of static testing

Static Testing

0 Usually done to check completeness (verification aspect)

0Cost of bugs in this phase?

0List of Static testing tools can be found in wikipedia

0TASK #1: Show me how to use any one of the tools available for static testing.

Dynamic Testing

0 Involves actually running the software

0Part of the validation aspect

0Examples include Unit tests, Integration tests, System tests and acceptance tests.

Black box testing

0Takes an external perspective of the software

0Assumes that the complexities do not exist, and just test the system using inputs and checking the outputs.

Black box testing

0Should make use of randomly generated inputs.

0An input range should be provided by the developer.

0Extreme cases should be checked.

0Outliers should be checked for robustness.

0Stress and crash testing should also be performed.

Black box testing

0Also known as functional testing

0Examples are stress testing, recovery testing and user acceptance testing.

0Divided into two types: User required and User not required.

BB where user not required!

0Functional Testing: the software is tested for the functional requirements.

0Stress Testing: The application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc.

BB where user not required!

0Functional Testing: the software is tested for the functional requirements.

0Stress Testing: The application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc. while depriving the system of resources.

BB where user not required!

0Load Testing : The application is tested against heavy loads (representative loads/ Maximum sustainable loads) or inputs such as testing of web sites in order to find out at what point the web-site/application fails or at what point its performance degrades.

BB where user not required!

0Ad-hoc Testing: This type of testing is done without any formal Test Plan or Test Case creation. helps testers in learning the application prior starting with any other testing.

0Usability Testing

BB where user not required!

0Smoke Testing: is done in order to check if the application is ready for further major testing and is working properly without failing up to least expected level.

0Recovery Testing: done in order to check how gracefully the application can recover against any type of crash or hardware failure etc.

BB where users required!

0User Acceptance Testing: the software is handed over to the user in order to find out if the software meets the user expectations and works as it is expected to.

BB where users required!

0Alpha Testing: the users are invited at the development center where they use the application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers.

BB where users required!

0Beta Testing: In this type of testing, the software is distributed as a beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers.

0How are the defects reported?

White box testing

0Knowledge of how the system is implemented.

0Analyses data flow, control flow, coding practices and exception handling.

0Focus on security testing and looking for vulnerabilities like sql injection

0A tester has to think like an attacker/hacker.

White box testing

0TASK #2: What do you understand by Gray-box testing?

0Testing techniques: 0 Data-Flow Analysis0 Code-based fault injection0 Abuse cases (utilizing known attack patterns) 0 Code Coverage Analysis (eliminate risks such as trojan

horse)

White box testing

0TASK #3: Explore a coverage analysis tool.

Unit Testing

0The goal of unit testing is to isolate each part of the program and show that the individual parts are correct

0Test driven development ?

Requirements Testing

0 If the requirements are wrong, there would be no outcome of testing the application.

0The quality gateway: as soon as we get a requirement, we outline its possible defects and try to gauge whether they would disrupt our design.

0Make the requirements measurable.

Quantifiable requirements

0Make the requirement quantifiable, so that the solution can be measured.

0Example might be the time it takes a page to load.

0Consider the question, what would it take to not meet the requirement?

Non-Quantifiable requirements

0We can convert these into quantifiables by going through what the client might mean from them.

0Consider the question, what would it take to not meet the requirement?

Regression Testing

0Regression testing : testing which seeks to uncover bugs. Regression bugs occur whenever software functionality that previously worked as desired, stops working or no longer works in the same way that was previously planned.

0Common methods of regression testing include re-running previously run tests

Regression Testing

0Local - changes introduce new bugs.

0Unmasked - changes unmask previously existing bugs.

0Remote - Changing one part breaks another part of the program

Error handling testing

0 It determines the ability of applications system to process the incorrect transactions properly

0Errors encompass all unexpected conditions.

0 In some system approx. 50% of programming effort will be devoted to handling error condition.

Manual testing

0To test the system more thoroughly

0There is no alternative to it.

Quiz

0Why doesn’t the developer do the black box testing?

top related