copyright by krishna oruganti test management

14
Copyright by Krishna Oruganti Test Management

Upload: softwarecentral

Post on 06-May-2015

906 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Test Management

Page 2: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Agenda• Test Management

– Test Management & Test Project Phases– Test Project – End to End Testing– Test Management - Services– Test Management - Right Balance

• Automated Testing– Why Automated Testing– Automation Workflow & tips

• Performance Testing– Performance Testing Overview– Performance Testing Process

• Security Testing– Security Testing Overview– Security vulnerabilities

• Conclusion• Question & Answers

Page 3: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Test Management

• What is Test Management: Test management is an umbrella term for managing the Test

Projects, Test Processes, Managing Testing financials, Road map etc..

• Phases in a Test Project– Test Strategy ( Test Stages, Models etc..)

– Test Planning ( Scope, Approach, Sch., RAL, Est., EE Criteria, Res., Env., Etc. )

– Test Preparation (Test Design, Priority, Req. Traceability etc.. )

– Test Execution ( Test Exec sets, Execution, Res. Capture, Defects etc..)

– Reporting (Execution Rep, Defect Rep, etc..)

– Closedown & PIR (Summary Report, Recommendation etc..)

Page 4: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Test Project - End to End Testing

ClassificationFunctional Testing

V&V of the requirements and the data integrity of the system

Non Functional TestingPerformance : To evaluate the scalability of the system in an integrated ENV

Security : To identify various security vulnerabilities the system is exposed to

UATPerformance

Integration

SystemUnit

SecuritySupport

Business Req. Spec

Functional Req. Spec

Technical Spec

Non Functional Req. Spec

Page 5: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Test Management - Services• Process Management

– Outsourcing / Remote operations

– Development Models (Waterfall, V Model, RUP, Agile)

• Financial Tracking– Visible Project Planning and Tracking

• Change Management (Change Control Boards)• Requirements Management• Configuration Management

– Build Management and Env Management

• Defect management• Release Management• Maintenance and Support

Page 6: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Test Management – Right Balance

• Processes– Too much, Too less

• Test Estimation– Complexity of Application (Enterprise integrated application or a simple Web App)– Technology (Mainframes, J2EE, BPM etc..)

• Efficient Tools– Investigation (Expensive Tool is not always the right tool for you..)

• Experience / Knowledge– Right mix and complementing teams

• Team Building– No fun, No productivity

• Metrics– Reactive and Iterative improvement

• Roles and Responsibilities– Am I supposed to do that ?

Page 7: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Automated Testing• What is Automated Testing ?• Why use Automated Testing ?

• Long-term strategic solution to reduce per unit cost in software testing • Smoke Testing• Agile Development

– Run more tests more often • Will increase Test Coverage (Identify defects at the earlier stages )• Less risk in not testing end to end time to time• Improves Business confidence with more testing and less defects in Prod

• Regression Testing– More focused testing on the new features and enhancements (Manual) – Reduce time spent on redundant testing

• Run with machines– Schedule tests with minimum personnel to run them and monitor– Reduced time and effort for Test Case execution

• Release Testing• Cross Browser• Software platform upgrades etc…

Speed Coverage Repeatability Reliability Reusability Process Oriented Employee Satisfaction

Automated Testing

Page 8: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Automation Workflow and TipsHigh Scoring Test Cases

Daily Tests (Smoke / Sanity, Regression test, Agile Testing)

Tests that use multiple data values for the same actions

Complex and time consuming tests Tests requiring a great deal of precision Tests involving many simple, repetitive tests Testing needed on multiple OS / cross

Browsers Testing needed in multiple testing phases

(SYS, INT, UAT, DRT etc)

Low Scoring Test Cases

One-time testing

“Test it NOW! “ Test Cases

Ad hoc testing - based on the knowledge of application

Interface testing (Technical feasibility)

Weekly / Monthly Batch program dependency

Manual Test Case & Test Data

Test Mgmt Tool

Framework

Automation script

Application Under Test

QTP / RFT

Object Repository

Page 9: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Performance Testing• Performance Testing is an umbrella term for various types of testing carried out in

checking the system performance

Sys

tem

Dat

abas

e

Har

dwar

e

Net

wor

k

Con

figur

atio

n

? ? ? ? ?

Load vs Response Time

34.2

10.2

75

4.82.51.2

0

10

20

30

40

50

60

70

80

0% 20% 40% 60% 80% 100% 120% 140%

Load Profile

Res

po

nse

Tim

e (S

eco

nd

s)

Response Time (sec)

Point of Response Time Degradation Curve

• Load Testing

• Stress Testing

• Volume Testing

• Endurance Testing

• Sociability Testing

Page 10: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Performance Testing Process

– Understand performance requirements

– Analyse the System and identify test objectives

– Define the test strategy

– Identify performance test tools

– Prepare a performance test plan

– Set up the target system and ENV

– Build performance test scripts and test scenario

– Performance test execution and Metrics / data collection

– Performance analysis and reporting

Analyses

Identify

TestFine tune

Re- Assess

Page 11: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Security Testing (Application)• Security Testing is an umbrella term for various types of testing carried

out to identify the security vulnerabilities that the system is exposed to.

Intranet

Ap

plic

atio

n S

erv

er

DMZ

Exte

rnal F

irew

all

DB Sensitive

Data

Internet Cloud

Internet Inte

rnal F

irew

all

Web Server

•Customer Info•Employee Info•Credit Card Info•SSN or TFN

Customer

Agent

Page 12: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Security VulnerabilitiesAre Security defects given any priority in organisations ?Yes, (Defame Organisation, could loose business, Legal implications) • Mandate should be in place at organisational level

Tools (Appscan, QAInspect etc..)

Top 10 Security Vulnerabilities• Cross-Site Scripting (Redirecting, Content spoofing etc..)• SQL Injection (Tautology ‘1=1’, Blind SQL Injection)• Denial of Service• Broken Access Control (Authentication)• Broken Account and Session Mgmt (Spoofing)• Invalidated Input • Insecure Configuration Mgmt• Insecure Storage• Buffer Overflows• Improper Error Handling

Page 13: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Conclusion

• Wise Test Management brings in lot of cost savings to the organisation

• Test Tools (Automation, Performance and Security) are available to do a better work

• Testing remains among the most challenging of high tech jobs

• Future, 2010’s decade: not a easy cruise for the Test Professionals with the ever increasing demand for skills

Page 14: Copyright by Krishna Oruganti Test Management

Copyright by Krishna Oruganti

Question and Answers