QA/Testing @Synerzip
description
Transcript of QA/Testing @Synerzip
www.synerzip.com
QA/Testing @Synerzip
October 2008
Confidential
Discussion Topics
1. Synerzip Overview
2. QA/Testing Capabilities• Overview• Best Practices
Confidential
About Us (Synerzip in a Nut-shell)1. Software development partner for small/mid-sized
technology companies• Focus: B/C round funded technology companies• Deep experience in product development, testing, & deployment• Handles full software development life cycle• Technology and industry domain agnostic• Engagement flexibility: Fixed-Price OR Dedicated-Team
2. Actually reduces risk of development/delivery• Experienced software management team• Brings in appropriate level of engineering discipline• Follows Agile development process – responsive & disciplined
3. Reduces cost – dual-shore team providing 50% cost advantage
4. Offers long term flexibility – allows (facilitates) taking offshore team captive
Confidential
Experienced Team
• Hemant Elhence, Chief Executive Officer– Co-founder & COO of ECMi (Dallas), venture funded software product company
– Product-line VP at i2 – managed product portfolio with multiple offshore teams
– Manager at McKinsey & Co (Dallas), Consultant at TRG (Boston)
– Software engineer at Digital Equipment Corporation (Boston)
– BSEE IIT Delhi, MSEE Univ. of Massachusetts, MBA Univ. of Chicago
• Vinayak Joglekar, EVP & Chief Technology Officer– Co-founder & CTO of ECMi, lead offshore (India) development center
– 22+ years experience in software architecture design & product development, has built and mentored 100+ teams, hired 1000+ software professionals
– Successfully delivered off-shore software projects for 20+ companies incl. Alfa-Laval, First Guarantty, Cyberdrawer, etc.
– BSME IIT Bombay, MBA IIM Calcutta
Team of seasoned professionals with extensive experience in offshore software Product Development
Confidential
Our Clients
Confidential
Services Scope
Product Development
Maintenance
Customer Support
QA/Testing• Automation• Performance/usability• Stress/compatibility
Application Integration
Data Prep & Loading
Configuration/ Deployment
• Full solution provider for small/mid-sized technology company
– Able to handle all related services
– Puts together tailored team and processes
Related Services• Data Entry• BPO
Confidential
Technology SkillsSynerzip team offers skills for variety of front end, back and helper tools in open source as well as the licensed software.
Open Source Licensed Microsoft Database, Datawarehousing and OLAP
UI and Client side
Ajax, Ruby on rails, Struts, JSF, Tiles, Eclipse GEF
Flash, Fireworks, Dreamweaver
ASP.Net with C# , Visual C++, Visual Basic
Actuate, Crystal reports , Cognos Visualizer, Business objects
Server Side Java, J2EE, JBoss, Hibernate, Spring, AspectJ,
Weblogic, Websphere
ATL, COM, DCOM, Biztalk Server, SQL Server 2005,
Cognos Powerplay, Informatica, Oracle 8/9/10g, DB2, Hyperion, MySQL, PostgreSQL
Tools CVS, Ant, Maven, Cruise Control, Fitnesse, Open STA, jMeter, Watir, Selenium
Winrunner, Loadrunner, Rational Rose, Quick Test Pro, Rational Robot
Visual Studio.Net, nUnit, nHibernate
Toad, Data Junction, Erwin
Confidential
Discussion Topics
1. Synerzip Overview
2. QA/Testing Capabilities• Overview• Best Practices
Confidential
Why Leverage Synerzip for QA1. Third-party authentication - independent,
“outside-in” perspective
2. Leverage Synerzip’s cumulative experience - repository of know-how and best practices
3. Leverage specialized skills and processes • Technical e.g. Automation, Load/Performance Testing, Usability
testing
• Test Strategy Design
• Test Management e.g. estimation, project management, metrics
4. Access to flexible capacity – ability to increase/decrease capacity on-demand
5. Gain cost advantage of dual-shore operation
Confidential
Handles Full Scope of TestingTesting Triad
Confidential
Testing Activities with SDLC
Confidential
Importance of Testing in SDLC• Testing requires 40% of total efforts in SDLC• Release decisions can be based on hard testing data, thus with proper
risk assessment• Fixing of defects earlier in the SDLC is much cheaper! • Agile methodology – Test driven development
Confidential
Discussion Topics
1. Synerzip Overview
2. QA/Testing Capabilities• Overview• Best Practices
ConfidentialConfidential
QA Best Practices• QA Process
• Test case management
• Bug Tracking
• Test automation
• Performance Testing
ConfidentialConfidential
QA ProcessWe recommend and follow Agile methodologies as a part of QA Process
Agile methodologies generally promote: A project management process that encourages frequent inspection and adaptation.
Each iteration is worked on by a team through a full software development cycle, including planning, requirements analysis, design, coding, unit testing, and progress.
As a part of Agile process we use following tools and techniques such as continuous integration,Fitnesse,nUnit/XUnit etc.
ConfidentialConfidential
Test Strategy• Test planning• Use cases • Test case documentation• Test case execution ( Black box , white box
testing)• System Testing• Acceptance Testing• Usability Testing• Compatibility Testing• Continue Test case update• Test automation (Automate regression test suite)
ConfidentialConfidential
Test Strategy (Continued)Understanding of requirements 1
Start preparing flow chart / block diagram based on the understanding and verify. 2
Come up with use case diagrams. 3
Prepare Test out line document and get it reviewed. 4
Prepare Detail testcase document 5
Execute it during each test cycle. 6
Ad-Hoc Testing
7
Prepare Customer scenarios document support team. 9
Automate regression Test suite. 8
User acceptance /Performance /Security Testing 10
ConfidentialConfidential
System Testing• Volume and stress testing: Can the system handle the
required data throughput, requests etc? What are the upper bounds?
• Configuration testing: Does the system operate correctly on all the required software and hardware configuration?
• Resource management testing: Can the system exceed memory allocation limits?• Security testing: Is the system secure enough?• Recovery testing: Use pathological test cases to test
system recovery capabilities.• Availability/reliability: Does the system meet the
requirements?
ConfidentialConfidential
Test case management• We use opensource free tool TestLink
(http://testlink.org/wordpress/) for doing test case management. TestLink is a web based tool
• TestLink enables easily to create and manage Test cases as well as organize them into Test plans.
• Test plans allow team members to execute Test cases and track test results dynamically, generate reports, trace software requirements, prioritize and assign tasks.
• The tool has web based and its really useful for management to track the testing status as per build.
• It cooperates with known Bug tracking systems as is Bugzilla, Mantis and few more.
ConfidentialConfidential
Test Metrics• We maintain the metrics generated by the
Testlink itself • General Test Plan Metrics
• Overall Build Status
• Query Metrics ( user can form a query for e.g. build , top level test suite start time , end time etc.)
• Failed Test Cases
• Blocked Test Cases
• Not run Test Cases
• Total bugs for each testcase.
• Charts ( Pie charts etc.)
ConfidentialConfidential
Bug Tracking• We are familiar with BugZilla, Mantis, Test
track pro, etc.
• We make sure that all the required details are there in the defect including good summary, environment description, Proper steps , attachments /screenshots etc.
ConfidentialConfidential
Test automation• We believe in test automation and we
generally try to achieve 80-90% of the testing using automated test suites.
• Based on the application we evaluate different tools.
• We run the complete automated suite after every build release.
• We use tools such as Selenium, Watir , Ruby , Perl, TCL.
ConfidentialConfidential
Performance Testing• We conduct performance testing to
determine how fast some aspect of system performs under particular work load
• We recommend load as well as stress testing.
• We recommend opensource tool WebLoad (http://www.webload.org/) , OpenSTA http://opensta.org/
ConfidentialConfidential
Load Testing• A load test is usually conducted to
understand the behavior of the application under a specific expected load.
• Parameters used will be: • Response Time
• Throughput• Resource Utilization
• Tools like Jmeter, OpenSTA, LoadRunner, Selenium can be used
ConfidentialConfidential
Stress Testing• This testing is normally used to determine
the outer limits of the application. • Tests are re-run with incremental number of
users until the application breaks down.
• Tools like Jmeter, OpenSTA, LoadRunner, Selenium can be used
Confidential
Typical Performance MetricsSr. No
Objective Performance Metrics Actionable Points
1. Ascertaining capacity of the system
Resource utilizationThroughput
Enhancement of hardware.
2. Bottleneck Identification
2.1 - Hardware Resource Utilization Increase in hardware.
2.2 - Application Response Time, Resource Utilization
Code review and optimization.
2.3 - Application Server Response Time, Resource Utilization, Server specific monitors.
Tuning of server configuration settings.
2.4 - Database Server Response Time, Resource Utilization
1) Tuning of database server 2) Database and query optimization.
2.5 - Network Bandwidth usage. Increase Network bandwidth.
Confidential
ConfidentialConfidential
Questions?
Confidential
Contact Information
• Hemant Elhence (Dallas based)
– [email protected]– Cell Phone: 214.762.4873
• www.synerzip.com
• HQ in Dallas, TX– 14228 Midway Rd, #130, Dallas, TX 75244– Office Tel: 469.322.0349– Office Fax: 469.322.0490