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 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 Skills Synerzip team offers skills for variety of front end, back and helper tools in open source as well as the licensed software. Open SourceLicensedMicrosoftDatabase, 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 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 QA Best Practices QA Process Test case management Bug Tracking Test automation Performance Testing
Confidential QA Process We 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.
Confidential 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)
Confidential 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
Confidential 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?
Confidential Test case management We use opensource free tool TestLink (http://testlink.org/wordpress/) for doing test case management. TestLink is a web based toolhttp://testlink.org/wordpress/ 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.
Confidential 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.)
Confidential 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.
Confidential 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.
Confidential 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/http://www.webload.org/ http://opensta.org/
Confidential 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
Confidential 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 Metrics Sr. No ObjectivePerformance MetricsActionable Points 1.Ascertaining capacity of the system Resource utilization Throughput Enhancement of hardware. 2.Bottleneck Identification 2.1 - HardwareResource Utilization Increase in hardware. 2.2 - ApplicationResponse Time, Resource Utilization Code review and optimization. 2.3 - Application ServerResponse Time, Resource Utilization, Server specific monitors. Tuning of server configuration settings. 2.4 - Database ServerResponse Time, Resource Utilization 1) Tuning of database server 2) Database and query optimization. 2.5 - NetworkBandwidth usage.Increase Network bandwidth. Confidential