pm 6 testing
TRANSCRIPT
Software Project Management
Are we delivering right things
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
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”
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…
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
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
V process model
FeasibilityStudy Review
UserRequirements
UserAcceptance
SystemDesign
System Testing
ProgramDesign
ProgramTesting
Coding
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
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)
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.
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.
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
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 ?
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
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.
http://www.radiantminds.co.in
Testing Web Applications
• Why it is complex ?
• Dynamic UI
• Navigation
• Performance
• Compatibility
• Interoperability (Interface with other applications)
• Security
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
http://www.radiantminds.co.in
Testing Interface
• Links
• Forms
• Client-side scripting
• Dynamic HTML
• Pop-up windows
• Streaming Contents
• Cookies
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)
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?
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.
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
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