dise - software testing and quality management

Post on 19-Feb-2017

36 Views

Category:

Engineering

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Diploma in Software Engineering

Module VIII: Software Testing and Quality Management

Rasan SamarasingheESOFT Computer Studies (pvt) Ltd.No 68/1, Main Street, Pallegama, Embilipitiya.

Contents

1. Introduction to Testing2. Verification and Validation3. Testing Methods4. Black Box Testing5. White Box Testing6. Testing Strategy7. Testing Stages8. Unit Testing9. Integration Testing10. Bottom-up Integration11. Top-Down Integration12. Validation Testing13. Alpha Testing

14. Beta Testing15. System Testing16. Recovery Testing17. Security Testing18. Stress Testing 19. Performance Testing20. Test Case21. Debugging22. Testing, QA and QC23. Quality Management24. Quality Planning Process25. Quality Assurance Process26. Quality Control Process

Introduction to Testing

1. Testing is a process of executing a program with the intent of finding an error.

2. A good test case is one that has a high probability of finding an as yet undiscovered error.

3. A successful test is one that uncovers an as yet undiscovered error.

Verification and Validation

Verification - Set of activities which ensure software correctly implements a given function.

“Are we building the product right?”

Validation - Set of activities which ensures software that has been built satisfies customer requirements.

“Are we building the right product?”

Testing Methods

There are two main testing approaches

• Black Box Testing• White Box Testing

Black Box Testing

Black box testing is a testing technique that ignores the internal mechanism of the system and focuses on the output generated against any inputs of the system.

White Box Testing

White box testing is a testing technique that investigate the internal logic and structure of the code in detail.

Black Box Testing and White Box Testing ComparisonBlack Box Testing White Box Testing

Internal Workings of an application are not required to be known

Tester has full knowledge of the Internal workings of the application

Also known as closed box testing, data driven testing and functional testing

Also known as glass box testing, structural testing or code based testing

Performed by testers and developers and also by end users

Normally done by testers and developers

Based on external expectations - Internal behavior of the application is unknown

Internal workings are fully known and the tester can design test data accordingly

Least time consuming and exhaustive The most exhaustive and time consuming type of testing

Not suited to algorithm testing Suited for algorithm testing

Done by trial and error method Data domains and Internal boundaries can be better tested

Testing Strategy

Testing Stages

Unit Testing

• Refers to tests that verify the functionality of a specific section of code at the function level.• Performed by the developers before the setup is

handed over to the testing team.

Integration Testing

• In integration testing, individual software modules are combined and tested as a group. • Integration testing is verifying the interfaces

between components against a software design.

Integration Testing

There are two methods of doing Integration

1. Bottom-up integration2. Top-Down integration

Bottom-up Integration

This testing begins with unit testing, followed by tests of progressively higher-level combinations of units called modules or builds.

Top-Down Integration

This testing, the highest-level modules are tested first and progressively lower-level modules are tested after that.

Validation Testing

• Validation testing ensure software functions in a manner that can be reasonably expected by the customer.• Like all other testing steps, validation tries to

uncover errors, but the focus is at the requirements level on things that will be immediately apparent to the end-user.

Alpha Testing

• The alpha test is conducted at the developer's site by a customer. • The software is used in a natural setting with the

developer "looking over the shoulder" of the user and recording errors and usage problems.• Alpha tests are conducted in a controlled

environment.

Beta Testing

• The beta test is conducted at one or more customer sites by the end-user of the software.• Unlike alpha testing, the developer is generally

not present.• The customer records all problems that are

encountered during beta testing and reports these to the developer at regular intervals.

System Testing

System testing validates software once it has been incorporated into a large computer system. (hardware, people, information)

System Testing

System Testing includes the following tests.

• Recovery Testing• Security Testing• Stress Testing • Performance Testing

All these tests are fallen down into the category non-functional testing.

Recovery Testing

Recovery testing is the activity of testing how well an application is able to recover from crashes, hardware failures and other similar problems.

Security Testing

Security testing verifies that the protection mechanism built on the system successfully prevents unauthorized access to the system.

Stress Testing

During stress testing, the system is monitored after subjecting the system to heavy load, frequency or volume to ensure that the system can sustain the stress.

Performance Testing

Performance testing is designed to test the runtime responsiveness, stability and resource usage of software within the context of an integrated system.

Test Case

Test cases involve the set of steps, conditions and inputs which can be used while performing the testing tasks.

A. Test Case IDB. Test ScenarioC. Test Case DescriptionD. Test StepsE. PrerequisitesF. Test DataG. Expected ResultH. Actual ResultI. Comments

Test Cases Example

We need to check an input field that can accept maximum of 10 characters.

Scenario Test Steps Expected Result Actual OutcomeVerify that the input field that can accept maximum of 10 characters

Login to application and enter 10 characters

Application should be able to accept all 10 characters.

Application accepts all 10 characters.

Verify that the input field that cannot accept more than 10 characters

Login to application and enter 11 characters

Application should NOT accept all 11 characters.

Application accepts all 11 characters.

Debugging

• When a test case uncovers an error, debugging is the process that removes the error.• Debugging occurs as a consequence of successful

testing.

Debugging Process

Testing, Quality Assurance and Quality Control

Quality Assurance Quality Control TestingActivities for ensuring quality in the processes that develop software.

Activities for ensuring quality in the software.

Activities which ensure the identification of error/defects in the Software.

Process oriented activities.

Product oriented activities.

Product oriented activities.

Preventive activities. Corrective process. Corrective process.Everyone is responsible

QA team is responsible

QA team is responsible

QA is a managerial tool QC is a subset of Quality Assurance.

Testing is a subset of Quality Control.

Quality Management

Quality Management includes the processes required to ensure that the project will satisfy the needs for which it was undertaken.

Processes:Quality PlanningQuality AssuranceQuality Control

Quality Planning Process

Quality Planning Process identifying which quality standards are relevant to the project and determining how to satisfy them.

Inputs for Quality Planning Process

• Quality policy - the overall intentions and direction of an organization with regard to quality• Scope statement. • Product description.• Standards and regulations - Application area

specific standards or regulations that may affect the project.• Other process outputs.

Tools and Techniques for Quality Planning Process

• Benefit/cost analysis. • Benchmarking - comparing one's business

processes and performance metrics to best practices from other companies.• Flowcharting.• Design of experiments - analytical technique

which helps identify which variables have the most influence on the overall outcome.

A Sample Process Flow Chart

Quality Planning Process Outputs

• Quality management plan - describe how the project management team will implement its quality policy.• Operational definitions - what something is and

how it is measured by the quality control process. • Checklists - set of required steps has been

performed.• Inputs to other processes.

Quality Assurance Process

Quality Assurance Process evaluating overall project performance on a regular basis to provide confidence that the project will satisfy the relevant quality standards.

Inputs for Quality Assurance Process

• Quality management plan. • Results of quality control measurements -

records of quality control testing and measurement.• Operational definitions.

Tools and Techniques for Quality Assurance Process

• Quality planning tools and techniques.• Quality audits - structured review of other quality

management activities.

Quality Assurance Process Outputs

• Quality improvement - taking action to increase the effectiveness and efficiency

Quality Control Process

Quality Control Process monitoring specific project results to determine if they comply with relevant quality standards and identifying ways to eliminate causes of unsatisfactory performance.

Inputs for Quality Control Process

• Work results - both process results and product results.• Quality management plan.• Operational definitions. • Checklists.

Tools and Techniques for Quality Control Process

• Inspection - activities such as measuring, examining and testing to determine whether results conform to requirements.• Control charts - graphic display of the results of a process over

time.• Pareto diagrams - histogram, ordered by frequency of

occurrence that shows how many results were generated by type or category of identified cause.• Statistical sampling - eg: selecting ten engineering drawings at

random from a list.• Flowcharting.• Trend analysis - using mathematical techniques to forecast

future outcomes based on historical results.

Pareto diagrams

Quality Control Process Outputs

• Quality improvement.• Acceptance decisions - items inspected will be

either accepted or rejected.• Rework - action taken to bring a defective item

into compliance with requirements.• Completed checklists.• Process adjustments - immediate corrective or

preventive action

The End

http://twitter.com/rasansmn

top related