Pm 6 testing

23
Software Project Management Are we delivering right things

Transcript of Pm 6 testing

Page 1: Pm 6 testing

Software Project Management

Are we delivering right things

Page 2: Pm 6 testing

http://www.radiantminds.co.in

Why Testing is required

• Delivered results should match with expected results

• Testing strategy must include

– Test Planning

– Test Case Design

– Test Execution

– Resultant Data Collection

Page 3: Pm 6 testing

http://www.radiantminds.co.in

Verification & Validation

• Verification – It is set of tasks that ensures that software correctly implements specific functions– “Are we building the product right”

• Validation – It is set of tasks that ensures that the S/w that has been built is traceable to customer requirements– “Are we building the right product”

Page 4: Pm 6 testing

http://www.radiantminds.co.in

V & V activities

• Technical Reviews

• Quality & Configuration audits

• Performance monitoring

• Documentation Reviews

• Database Reviews

• Algorithm Analysis

• Usability Testing

• Acceptance Testing

• Installation Testing etc…

Page 5: Pm 6 testing

http://www.radiantminds.co.in

White Box Testing

• Developer is suppose to carry out this testing in which

– All independent paths have been exercised at least once

– Exercise all logical decisions

– Executes all loops and boundaries

– Exercise Internal Data structures

– Condition Testing, Data Flow Testing, Loop Testing

Page 6: Pm 6 testing

http://www.radiantminds.co.in

Black Box Testing

• It focuses more on functional requirements of the software. Generally carried out by testers or Business Analysts

– Requires domain knowledge

– Data volume, System users

– Various combination of data and its effect on the system

Page 7: Pm 6 testing

V process model

FeasibilityStudy Review

UserRequirements

UserAcceptance

SystemDesign

System Testing

ProgramDesign

ProgramTesting

Coding

Page 8: Pm 6 testing

http://www.radiantminds.co.in

Testing for Conventional S/w

• Unit Testing – It applies to the smallest unit of S/w design like component or a module.

– Module interfaces are tested

– Information flow is tested

– Data structures are tested

– All control structures are exercised

– Boundary conditions are tested

– Error handling paths are tested

Page 9: Pm 6 testing

http://www.radiantminds.co.in

Testing for Conventional S/w

• Integration Testing – Putting and executing modules together

– Data can be lost across an interface

– One component has adverse effect on another

– Combining sub functions

– Variables and Memory management

– Database and file design

(Find out what is Top-down integration testing and Bottom-up integration testing)

Page 10: Pm 6 testing

http://www.radiantminds.co.in

Testing for Conventional S/w

• Regression Testing - Whenever there are any changes software needs to be tested again and again. If the changes are frequent then the efforts spent are much more.

• Generally automation is done in these cases.

Page 11: Pm 6 testing

http://www.radiantminds.co.in

Testing for Conventional S/w

• Smoke Testing –It is an Integration testing approach, designed as a pacing mechanism for time critical projects.

• Focus is more on testing critical functionality and not whole system.

Page 12: Pm 6 testing

http://www.radiantminds.co.in

Alpha & Beta Testing

• It is very difficult for S/w developer to foresee how the end customer will really use a program.

• Alpha Test – Conducted by end-user at developer’s site. Developer is present during the testing. These tests are conducted in controlled environment. Developer records all the problems encountered

Page 13: Pm 6 testing

http://www.radiantminds.co.in

Alpha & Best Testing

• Beta Testing – It is conducted at one or more users site. Developer is not present during testing. The environment is not controlled by the developer. It is like pre-live run. Customer records all the problems

what is customer acceptance testing ?

Page 14: Pm 6 testing

http://www.radiantminds.co.in

System Testing

• Recovery Testing – Recovery from faults and resume processing with little or no down time

• Security Testing – Protection from hackers, Un-happy Employees

• Stress Testing – Increasing load on the system by Users, Data, Executing complex data calculations

Page 15: Pm 6 testing

http://www.radiantminds.co.in

System Testing

• Performance Testing - To confirm whether the performance requirements are met

• Deployment Testing – Execution of software on variety of platforms and under more than one OS. It is also called as Configuration Testing.

Page 16: Pm 6 testing

http://www.radiantminds.co.in

Testing Web Applications

• Why it is complex ?

• Dynamic UI

• Navigation

• Performance

• Compatibility

• Interoperability (Interface with other applications)

• Security

Page 17: Pm 6 testing

http://www.radiantminds.co.in

Testing Web Applications

• Hardware – CPU, Memory, Storage

• OS – Linux, Mac, Windows, Mobile based OS

• Browser – Firefox, Safari, IE, Chrome, Opera

• UI Components – Active X, Java applets

• Plug-ins – Quick Time, Real Player

• Connectivity – Cable, WiFi, Modem

Page 18: Pm 6 testing

http://www.radiantminds.co.in

Testing Interface

• Links

• Forms

• Client-side scripting

• Dynamic HTML

• Pop-up windows

• Streaming Contents

• Cookies

Page 19: Pm 6 testing

http://www.radiantminds.co.in

Usability Tests

• Layout (easily finding required func.)

• Readability

• Interactivity (menus, buttons etc)

• Aesthetics (Color, font, etc)

• Display Characteristics (Use of screen size, Resolution etc..)

• Personalization

• Accessibility (for disable persons)

Page 20: Pm 6 testing

http://www.radiantminds.co.in

Security Testing

• Firewall• Authentication (Validation of clients and

servers)• Encryption• Authorization

Find out what is Vulnerability Testing?

What is Spoofing ?

Difference Between Load & Stress Testing?

Page 21: Pm 6 testing

http://www.radiantminds.co.in

Parallel Testing - Why

• To ensure that the processing of new application (new version) is consistent with respect to the processing of previous application version.

• Demonstrate consistency and inconsistency between 2 versions of the application.

Page 22: Pm 6 testing

http://www.radiantminds.co.in

Parallel Testing - How

• Same input data should be run through 2 versions of same application system

• Parallel testing can be done with whole system or part of system (module)

• Verification is done through acceptance Testing & Stress Testing

Page 23: Pm 6 testing

http://www.radiantminds.co.in

Parallel Testing - When

• When there is uncertainty regarding correctness of processing of new application where the new and old version are similar.

• Application of new patches

• Change in Technology

• Major application changes

• Change in OS