Vous êtes sur la page 1sur 32

Welcome to an institution that provides knowledge beyond books, knowledge beyond boundaries.

An institution that believes information can help see things from several perspectives... and insights can help you see beyond the obvious.

Dive-in to benefit from the Integrated IT Community : SEED Infotech delivering total solutions globally
15+ years of Experience in Technology Training, Staffing and Consulting 600 dedicated and highly skilled IT Professional with 200+ in house Trainers 1,25,000+ Students and Professional trained so far 1,00,000+ Sq. ft. of Training Infrastructure Courses mapped with Industry Requirement State-of-the-art IT laboratories and communication set-up 30+ Training Location across India Strategic tie-ups with Global Technology leaders

Short Term IT Courses


C, C++ . Linux NET PERL Java/J2EE PHP Oracle IT for 10th & 12th

Job Oriented Diploma Courses


Diploma in Software Testing IBM Tivoli Storage Manager SCTS - SEED Certified Technology Specialist (Java / .NET Track) Technical Writing PLM CFD CAD SPIC - Software Professionals Incubation Center
- Java / .NET - Software Testing - Hardware & Networking - Tivoli Admin

Hardware & Networking Courses


A+ N+ MCSA CCNA SCHANSA

English & Foreign Languages


Spoken English Japanese Chinese German French Maths & English Aptitude Personality Development

SEED Tutorails
English French Maths Marathi Science Sanskrit German

Winner of Maharashtra State IT HRD Award

TM

SEED Infotech Ltd.


'Panchasheel', 42/16, Erandawana, Seed Infotech Lane, Off Karve Road, Pune - 411004. Tel.: 020-25467484/9850885179 Email: info@seedinfotech.com | www.seedinfotech.com

Editor in Chief
Govind Kulkarni

Guest Editor
Nadica Hrgarek

TESTING

Board of Advisors
Narendra Barhate Jayesh Ingale Milind Limaye Paddy Krishnan Gireendra Kasmalkar Rajesh Vartak Rajesh Agrawal Prem Apte Subodh Hawa

Cover Story
Software Testing in the Recession (Troubled) Times
An Introduction to Agile approach

Production Team
Art & Graphic Designer : Smita Khade Language QA : Anant Sabane Printing & Publishing : Kedar Kakade

Sales & Marketing sales@seedinfotech.com

Feedback feedback@seedinfotech.com

18

Subscription subscription@seedinfotech.com

Load Testing in the Cloud with

Post an Article article@seedinfotech.com

Open Source Testing Automation

Printed & Published by Avani Publication

vani
publications
No part of this publication may be reproduced by any means without prior written permission

32 pages including cover

Contents
Cover Story
An Introduction to Agile approach 18 22 25

Effects of the Global Financial crisis on Software Testing


Software Testing in the Recession Times

Load Testing in the Cloud with Open Source Testing Automation

Tools Review

Interview
Interview with Testing Practitioner
8 16

26

Humor Coloumn
Driving and Testing are Similar

17

Student Corner
Guidelines for Creating Test Cases Guidelines for Writing Test Cases 28 31

QUIZ
Quiz Time

27

Chief Editor
It gives me great pleasure to be the editor of the inaugural magazine Beyond Testing. At the out set Wish you all a very Happy Diwali and prosperous new year. It is quite heartening to note that, this magazine is been inaugurated during festive season. Let me narrate my recent experience. I was traveling back from US and had an opportunity to chat with a fellow passenger. He asked me, What do you do? A software test professional, I said. Oh! It's a huge business these days the response. I gave a big nod and a counter question, Do we have good resources? He said, No, I do not have answer for this. We ended the chat there. Just to convey you all. Good testers are available in the market and many institutes imparting training in software testing, But, alas! What is lacking is that new horizon. Testers are busy with their project deliveries and hardly have anytime to come out of those four walls and see what is happening in the testing world. Exactly this was noticed by SEED Infotech and this magazine was born. This magazine is created with an objective to help software testers to increase their technical skill-set and at the same time it should come as fun and enjoyment. This is the reason the magazine is fun filled; there are articles, crossword, puzzles, and cartoon. I am very sure, when you finish reading this magazine, you will realize that this magazine is indeed helpful to up skill one's knowledge and creativity. We still have a long way to go and we are sure of receiving blessings from software test professionals for this magazine. We would like to listen from readers what areas this magazine should cover in forthcoming issues, how it can be made a more pleasurable experience of reading. Your feedback and criticism is of outmost value. Keep reading, keep updating your skills! Happy Reading !!!

Govind Kulkarni He is working with Zensar Technologies for last 5 yrs.

November 2009 | 6

Guest Editor
It is a great pleasure to be the guest editor of the inaugural magazine of Beyond Testing A testing magazine for all. I would like to thank all of the team and team members for taking initiative to start this magazine in India. I have no doubt that this will hit the market and will be successful. Am certain that this magazine will achieve its objectives. As a first guest editor , I have selected a topic on Software Testing in the Recession (Troubled) Times and wish to give some facts associated with that. As a result of the global financial crisis that started in early fall of 2008, companies are forced to react fast to the changes in the market trend and need to be open to new cost-effective approaches. Many major corporations are looking for new ways of cutting overall costs (e.g. looking for new locations with lower labor costs outsourcing/offshoring, reducing training costs, cutting down (IT) jobs, firing employees, etc). For example, American computer giant Hewlett-Packard announced last year to lay off about 24,600 employees over the next three years as part of a three-year restructuring program. According to Victor Janulaitis, CEO of Janco Associates, a Nevada-based IT management consulting firm, high-paying jobs within the IT function are targeted first when companies go bankrupt or are acquired. In 2004 Forrester Research has concluded that 1.2 million European jobs will move offshore by 2015 and IT workers will take the biggest hit (approximately 150.000 jobs). Due to the global financial crisis these numbers may even be higher than forecasted. CEO of Russian information security software vendor Kaspersky Lab and leading antivirus expert, Eugene Kaspersky, expressed his concerns at a press event in December last year that some software engineers who lose their jobs due to the credit crunch will turn to cybercrime. No doubt, Customers are becoming more important than ever and companies are challenged to keep the current customers and improve customer satisfaction that will ensure future success. Testing activities to ensure the software quality cost time and money, but this should be considered as good investment in quality and ultimately to improve customer satisfaction. If done right, software testing can offer big return on investment. In some situations only one software bug can crash the whole system. If a show stopper happens on the customer site (e.g. safety critical systems, banking software, automotive real time systems, navigation systems, medical device software, etc.) where you have thousands of users or the software can cause a death or injury, you can imagine how major damage to a company's image and financial security can be caused for an IT company. Nadica Hrgarek She is currently working as a Sr. QA Specialist Quality Improvement. Hrgarek is the co-founder and Head of the Advisory Board of the Croatian Testing Board (CTB). She is also a member of the German Association for Software Quality and Training (ASQF).

November 2009 | 7

Tools Review

BEYOND TESTING

Load Testing
in the Cloud with

Open Source Testing Automation


by Frank Cohen

November 2009 | 8

Tools Review

BEYOND TESTING

Doing more with less has hit IT budgets more than ever before. It may be due to today's uncertain economic times, however, load and stress testing is not a step that can be compromised without serious business risk. The good news is that provisioning hardware to generate load just got a lot easier, and much less expensive. Cloud computing environments are now available and readily used at commodity pricing with the power of open source. Cloud computing enables load generation from multiple geographical locations to more closely simulate real world user environments that were previously available. For example, you can run a test from Asia and Europe on RackSpace, from the Eastern United States on Amazon EC2 and from the Western United States on GoGrid. This article shows how you can take advantage of cloud computing environments to load test your applications at a surprisingly low cost. PushToTest TestMaker is the first open source test automation tool to provide Cloud Testing. PushToTest's experience implementing cloud support can be instructive to other test tools and your testing efforts. TestMaker is a free open-source test platform. It started in 2001 and today has more than a quarter of a million users. The tool is unique in its ability to repurpose a single test script to be a functional test, a load and performance test, and a business service monitor. PushToTest designed TestMaker's architecture around a Service Oriented Architecture (SOA) design. A console operates tests running on one of more Web services called TestNodes. The architecture predates Cloud Computing and was envisioned to run within a "cloud" like environment.

Modern Problems in Search of Modern Solutions Organizations pursuing testing are challenged by several problems. They have a limited test budget, the costs are very high, the number of tests we need to conduct is high, there is little reuse of tests, and people are spread-out geographically. Open source Cloud Testing seeks to deliver testing for mission critical applications on a limited testing budget. There are four cost drivers to the expense of testing: The cost of the test software (including protocol support,) the cost of test development and maintenance, the cost of a QA lab to run the test, and the cost of expert test employees and contractors. The cost of operating a QA lab today is an expensive and complicated proposition. In our experience a QA lab equipped to generate up to 10,000 virtual simulated users costs more than $35,000 per year. Add additional budget to cover the cost of the IT management people. Plus, there is the complexity of operating a QA lab, including heating and cooling, electrical supplies, office space, and service. Amazon recently designed a datacenter that has its own hydro-electric plant to produce energy to run its datacenter. Who wants that kind of commitment?!

The cost of the test software is high and often comes in two stages. In the first stage, functional testing identifies the accuracy at performing tasks for your users. The following chart describes the cost to buy a popular proprietary functional test platform.

Source APC: http://www.apcmedia.com/salestools/CMRP-5T9PQG_R3_EN.pdf

The second stage begins when you complete application functional testing and are ready for load testing. The same popular proprietary test vendor will sell you a separate test platform for load and performance testing.

November 2009 | 9

Tools Review

BEYOND TESTING

Proprietary Tool - Functional Test Functional Test Platform Functional Tests Protocols: AJAX, SOAP Support $19,000 $8,000 $12,000 $5,000 $40,000 Functional Test Platform Functional Tests Protocols: AJAX, SOAP Support

Proprietary Tool - Load Test $20,000 $120,000 $35,000 $12,000 $1,87,000

There is no economy of scale with this solution because the functional test can not be reused in the load test platform. The vendor charges a huge fee for the number of simulated virtual users. And, the cost to recode the functional tests in the load test platform is high. In Push To Test's experience, an organization should make room in their budget for contract experts to be available should the test results deliver inconclusive or un-actionable knowledge. For example, PushToTest tested a popular game Web site that uses Flash components talking to a PHP and Oracle back-end. We surfaced a scalability and performance bottleneck. The customer hire Oracle performance consultants to solve lingering TCP connections between the PHP and Oracle OCI drivers. These consultants start at $150/hour. What is worse is spending all that money does not guarantee success. It just covers your capability to run a test. Many organizations pursue a "Test and Trash" methodology to achieve agile software development lifecycles. In this methodology the organization spends time designing the software, coding the software, and conducting unit tests. They know that integration testing are regression testing, and load testing is important to reduce the chances of service interruption and data loss. But they may forget to budget enough time and money for these important tests.

For example, an organization in pursuit of agile techniques may change up to 30% of an application with an application lifecycle of 8 weeks. Using record/playback technology, the organization then needs to re-record up to 30% of the tests, every 8 weeks. The organization may spend $20,000 building its first test, just to realize that it needs to spend $20,000 again to build the second test. And this method repeats every 8 weeks. One last problem is the geography of our users. When organizations test modern applications that use Rich Internet Application (RIA) techniques using Ajax, Flash, and Flex technology they find that their users live in multiple geographic locations. Ensuring high quality service deliver and avoiding outages requires testing in your datacenter, outside of your datacenter, or both.

November 2009 | 10

Tools Review

BEYOND TESTING

Solving The Problems Cloud Computing makes it possible for organizations to take advantage of the benefits of Cloud Testing. With a Cloud Testing solution an organization reduces the cost to operate tests. The organization enjoys a pay-as-you-go cost structure with little or no up-front investment

The Cloud Testing solution scales-up on-demand to millions of of virtual simulated users. And, it advances the efforts organizations pursue for department-level cost management. As an example of one Cloud Testing architecture, consider PushToTest TestMaker, a free open-source test automation platform.

PushToTest designed TestMaker to run your tests in a distributed Web service called a TestNode. A central console acts as a test runtime by sending the test script to the TestNode. Within the TestNode are script runners that understand the native format of the test script. TestMaker ships with many script runners, including runners for Selenium, soapUI, TestGen4Web, Mozmill, and unit tests written in Java, Ruby, Groovy, PHP, and Perl. Script runners inject operational test data from comma separated value (CSV) files, relational databases, and data generating objects into the tests without you needing to modify the test scripts. The Selenium and TestGen4Web script runners run the test script using our high performance HtmlUnit Web browser or a real browser (Internet Explorer, Firefox, Opera, Chrome, and others.) Your organization avoids the Test and Trash methodology by using TestMaker's component approach to test development. The script runners operate test use cases made up of one or more test scripts. One test script handles all of the other test's log-in functions, as an example. When the application changes only the single log-in test script changes. This is is a reusable component approach to test development. The component approach reduces costs to maintain tests. The TestMaker architecture is immediately Cloud Testing ready. Tests are SOA by their nature and immediately ready to operate. TestNodes run in your QA lab, in a cloud environment, or both.
November 2009 | 11

Tools Review

BEYOND TESTING

The Emerging Cloud Feature List While Cloud Computing emerged by 2006, it was Amazon Web Services entry in 2007 that sparked the world's interest. Amazon introduced large scale cloud availability at commodity pricing. Today we enjoy cloud services from many providers, including Amazon, GoGrid, Collab.net, and Rackspace. We evaluate cloud providers by looking at their feature lists, developer API-level support, and third-party support. Consider the following checklist.

Cloud computing providers must offer an programmatic interface (API) to their services. The API must provide a minimum set of functions and must be accompanied by a software development kit (SDK) that includes a reference implementation. For example, Amazon offers an API to create and remove machine instances (http://aws.amazon.com/documentation/). However, even Jeff Barr, Amazon's business development

and account preferences. For example, RackSpace offers a Web site for managing the Mosso cloud environment and Amazon offers the Elastic Fox add-on to the Firefox browser. RighScale.com emerged as an early provider of Web-based management for multiple cloud providers.
For organizations that need to operate a cloud

environment in their own private datacenter, cloud providers must offer an infrastructure to IT operations managers and software developers. For example, Eucalyptus Systems (http://www.eucalyptus.com) offers an open source cloud computing infrastructure that includes cloud management, virtualization, and provisioning management. For organizations publishing their own software applications, look to Appistry (http://www.appistry.com) to provide software development frameworks to add cloud support to an application.

executive, told us that Typica (http://code.google.com/p/typica/) is a better implementation of a Java client library for a variety of Amazon Web Services. Cloud providers must offer a management console for test operators. Each of the cloud providers offers a Web interface or browser plug-in to manage machine instances, security codes, machine instance image files,

Take the right step towards a IT career

Eligibility :

BE/BTech/MCS/MCM/BCS/BSc/BCA or Equivalent with 0-5 yrs experience. 2009 appeared candidates can also apply.

Highlights :

IBM Certified Trainers World Class Curriculum by IBM IBM & SEED Certificate 100% Job Assistance with leading MNCs 500+ Students Placed in last 6 Months

IBM RATIONAL
Software Testing

Storage Manager

IBM TIVOLI

November 2009 | 12

Tools Review

BEYOND TESTING

In an ideal world every application would be cloud ready. Consider the cloud support PushToTest built into TestMaker as an example. TestMaker provides automatic initiation and termination of test injectors (TestNodes) running in cloud machine instances. This enables TestMaker to start-up the needed machine instances, run the test on these instances, and take down the instances when the test completes. All of this in a lights-out way! TestMaker provides a client to the cloud provider service to start, stop, reboot, and pause machine instances. TestMaker supports the cloud provider security management, including providing security keys per user account and customer-to-customer firewall support so the tests from one user are not visible to other users. PushToTest takes the additional step of offering a profile of a fully configured and tuned TestNode for the Amazon EC2 cloud service. Search Amazon's EC2 images for PushToTest to find the publicly available profile. The profile runs the Centoss operating environment. The profile has Sun's Java 1.6 virtual machine, the TestNode, and the PTTMonitor agent-based resource monitor installed and optimized.

November 2009 | 13

Tools Review

BEYOND TESTING

Bringing This Together Software developers, QA testers, and IT managers are challenged to rapidly build and test Ajax, REST, Service Oriented Architecture (SOA,) and Web applications in a time when schedules are short, budgets are tight, standards are few, and much of this is new technology! Choosing open source test technology and methodology combined with Cloud Computing technology delivers immediate benefits to your organization. With Cloud Testing the organization enjoys a pay-as-you-go cost structure with little or no up-front investment. The Cloud Testing solution scales-up on-demand to millions of virtual simulated users. And, it advances the efforts organizations pursue for departmentlevel cost management. Finally, support for cloud provided services enables new marketplaces for your organization. For example, PushToTest now offers a testing as a Software As A Service (SAAS) with a pay-as-yougo billing for a Test OnDemand service.

About The Author Frank Cohen, Founder of PushToTest, Author of FastSOA. Through his speaking, writing and consulting, Frank Cohen is the expert that information technology professionals and enterprises go to when they need to understand and solve problems in complex interoperating information systems, especially Service Oriented Architecture (SOA,) Ajax, and Web services. Frank is Founder of PushToTest, the open-source test automation solutions business, and maintainer of the popular TestMaker open-source project. PushToTest customers include Jackson Labs, eBay, General Motors, TIBCO, BEA, Microsoft and other Fortune 1000 companies. Frank is the author of several books, including FastSOA, the way to use native XML technology to build scalable service oriented architecture, and Java Testing and Design. For the past 25 years he has developed and marketed some of the software industry's most successful products, including Norton Utilities for the Macintosh, Stacker, and SoftWindows.

Where To Learn More Download TestMaker 5.3 Today - http://www.pushtotest.com Watch the Screencast: Introduction To Cloud Testing http://tinyurl.com/q489pr Download the Press Release (Adobe Acrobat PDF format) http://tinyurl.com/ktn8va Learn More About TestMaker Cloud Testing http://www.pushtotest.com/products/cloudtesting Attend the free Open Source Test Workshop http://workshop.pushtotest.com

November 2009 | 14

Crossword

BEYOND TESTING

Crossword

Across 1. You conduct this test whenever there is a change or a defect fix (10 ) 4. When it comes to standards, setting out processes, I must obey to it, else I know I get a bat on back (6) 5. For Jennies shirts and the code, unique identification helps recognize (3) 7. You see them, visualize them day in day out, automation scripts wont run without them (5) 11. When hands are tired you need a companion to help (4) 13. Be standing and in queue till I call your turn for using this system (3) 14. I salute you, I get my bread from you? If you are not accepting me, why I should be developed (4) 17. Just equals a good lengthe of thread (6) 18. Swimmers never jump from the bottom to top (7) 19. When it is void, nothing works as promised you remember me (4) 20. I drafted all my jotings, discussions and sent it to my Mom (3) 21. Find all that means to reach why it happens again and again? (4)

Down 1. I wonder wheather I will be without you? (11) 2. Whenever Sam sees any problem he goes and does this task first (6) 3. Magnets do not attract in the same polarity, neither the tests too (12) 6. Everytime everything is not green, sometimes it appears but next time it does not, even eyes blick too irregularly (12) 8. Sometimes things do not work and you need to go back to see the old face of code (8) 9. People should care for your needs, your protection, safeguarding comes first (5) 10. Just after two forms interate, but you know this is important for the heart to work (13) 15. Do not free up your hands, keep feeding (5) 16. Credit cards do not accept transaction without any valid digits (6) 22. When I am under "acid test", you need something to hit at (3)

Get interesting prize for the correct crossword, send completed crossword to feedback@seedinfotech.com

November 2009 | 15

Humor

BEYOND TESTING

Testing Humor

Jayesh Ingale

It is Testers Right to enjoytesting,,,

It is Testers Wish to enjoytesting ,,,

It is Testers Dream to enjoytesting,,,

Do you enjoytesting.com?

November 2009 | 16

Coloumn

BEYOND TESTING

In a way driving and software testing are synonymous, meaning, both if not executed properly lead to risk , the former leads to small or fatal accidents the latter leads to less testing than planned, rework, unplanned activities and then small or critical defects passing to end users. I remember, my Car driving instructor in the US Mr. Bob Green if I remember correctly his name, used to tell me Govind you know who is a good driver? I used to reply yes, someone who drives safely? Then he used to say, yes you are, in a way, correct but there is one more entity to add, a good driver is one who expects the unexpected both from the front and the back. You know, there are some drivers who show right indicator but turn left, some honk and come closer to your car and you feel, you are just hit from back. You come across thousand such situations while driving. So if you are able to cope with each of the unexpected actions from other drivers while driving, you have a safe reach, touch would every time.

You go and ask the developer M you told you would do unit testing and fix trivial defects? What happened? We, the testing team, were expecting that you have caught these, but sorry, catching very silly bug means it is wasted effort! Then he would say, ok, I will surely improve and do unit test in next build! You ask yourself, am the only driver on this road in this project concerned for quality? Why are others not driving properly? Why they are not showing concern for quality? This is not what I was expecting?

Driving and Testing are Similar


Govind Kulkarni

Day in day out, you are expecting something but unexpected is happening. Either not tested the code, tester taking off at critical time, wrong builds, defects not attended for long time, many and many such things So what you consider a good testing team, sorry a good driver? Some one who expects as per expectation? Or some one who expects not as per his expectation? You as a test pro should strike balance between these two Conclusion If you considered that while testing everything will go well, as per your wish then you are wrong? You lead a risky testing life like risky driving? Always have some contingency plan, some extra effort allocated to mitigate risk because you are not the lone driver on project there are others too, some are good at it and some are not and most of your plans can go for t o s s because of other drivers.

Like one of the driver on the road, with an objective to go somewhere, the testing team is surrounded by many other teams (drivers) who are also driving sorry they are not driving vehicle but they are driving the project. Some teams are good drivers and some are not. If you imagined, you get everything as you expected, as you planned or as other promised would happen then you are wrong. Your build manager promised a build in the morning and you kept waiting till lunch time and you then go and remind about build and get a reply, hold on, it is still in progress and hopefully you get it by tonight.. you stay late and remind in the evening and Oh yes you got the build - you rub your eyes and check basics with an expectation that the build is good to go ahead with test then yell No this is not what team was expecting, you got either wrong build or build with many blockers , you then say, to yourself, when basic things are not working How do I test? - build manager would say, this is what I got from Mr. Developer.. So why you are yelling at me But I promise you , next time, will check with Mr. Developer before I make a build.

The opinion expressed is personal and nothing aimed to any project. This opinion is based on the experience Govind Kulkarni Email : govind@enjoytesting.com | govind.kulkarni@zensar.com

November 2009 | 17

Software Testing in the Recession (Troubled) Times

An Introduction to Agile approach


Nadica Hrgarek

November 2009 | 18

Cover Story

BEYOND TESTING

Abstract The purpose of this article is to briefly introduce the background and principles of the Agile Software Development. The agile approach emphasizes people, collaborative environment, effective response to changes and working software. It may make the difference in times of global financial crisis. Introduction The term software crisis has been used since the late 1960's to describe software development problems which caused software systems to be late, over budget, ineffective, difficult to use, maintain and enhance. Dr. Winston W. Royce, an early leader in software engineering and development, in his paper Current Problems (1991) described the software crisis as the difficulty in providing systems that both meet user/buyer needs and work without latent errors. W. Wayt Gibbs used the term software's chronic crisis in 1994 to describe the influence of ongoing software crisis and emphasize the need for disciplined software engineering approach to improve the development process. Since the 1990's, a number of non-traditional software development approaches have become popular: Extreme Programming (XP), Rational Unified Process (RUP), Agile Modeling (AM), Scrum, Crystal, Principles of Agile Software Development Agile Software Development has identified twelve principles (Table 1) that distinguish AMs from traditional software development methodologies such as waterfall model. Implementing AMs requires organizations to change the way they work and think. Table 1: Twelve principles of Agile Software Development (source: www.agilemanifesto.org)

Dynamic Systems Development Method (DSDM), Adaptive Software Development (ASD), Feature-Driven Development (FDD), Lean Development, context-driven testing, and many more. These new approaches are known as Agile Methodologies (AMs) and were introduced in 2001. They have been developed to overcome the problems of traditional heavyweight software development processes ranging from too much documentation to late delivery, budget overflows and poor quality software. Extreme Programming and Crystal propose practices for the whole software development lifecycle. Many software development organizations have turned to AMs to speed up the time-to-market, adapt to changing requirements, improve software quality and customer satisfaction, and increase their market share. The most popular and widely used AMs are XP and Scrum. Background In February of 2001 in Utah, a group of seventeen people in the field of lightweight processes coined the term agile and published the Agile Software Development Manifesto which establishes a framework for AMs. The term agile refers to the ability to easily adapt to contextual and requirement changes which occur during the software development process.
The Manifesto for Agile Software Development (source: www.agilemanifesto.org) We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas

November 2009 | 19

Cover Story

BEYOND TESTING

No. Principle 1 Principle 2 Principle 3 Principle 4 Principle 5 Principle 6 Principle 7 Principle 8 Principle 9 Principle 10 Principle 11 Principle 12

Description Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Agile focuses on early and often delivery of useful software to receive early feedback about the requirements in order to meet the user's needs. Agile approach involves users to review progress throughout the development process. Traditional software development models rely on the system being closed and stable. These models expect that requirements are known completely at the beginning of the project and do not change (i.e. requirements freeze). But in the reality, requirements change too often, and unlike traditional models, changing requirements in functionalities are welcome in agile projects, even late in the development process. Adapting to changes and understanding the customer's requirements are two of the critical success factors of any software development project. Software organizations which can readily adapt to changing requirements gain a competitive advantage. The focus of all AMs is on delivering working software frequently. According to Alistair Cockburn most software development projects run in 1-3 month delivery cycles. Within the cycle, work is done in short iterations. For example, XP iterations are 1 to 3 weeks long (www.extremeprogramming.org). Frequent builds is a well known software engineering best practice. Every build contains software release with changes that are being integrated into the version/source control system. The advantage of using daily builds is that the newer releases of software are every day available to developers and testers. Regression tests after building discover integration problems where a change breaks the build. Business stakeholders and developers must work together daily throughout the project. Customer involvement and interaction on an ongoing basis is one of crucial factors for project success. In XP, the customer should be always available as part of the development team.

November 2009 | 20

Cover Story

BEYOND TESTING

The people factor is vital in agile projects: process and environment help, but finally business experts, project managers, software developers and testers make or break a project. In his book Agile Software Development (2002), Alistair Cockburn points out it is better to have motivated, skilled people communicating well, and no process at all, than a well-defined process and unmotivated individuals. Thus, software organizations shall employ the most skilled, clever, and motivated team players they can find. While processes and tools are important, nothing can replace efficient face-to-face communication within a development team. Cockburn (2002) defines the following modalities of communications: paper, two people on email, audiotape, videotape, two people on phone, and two people at whiteboard. According to Cockburn the most effective way of communication is having two people at the whiteboard. Agile also takes advantage of information radiators which display information in a place where passers by can see it. For example, whiteboards, flipcharts, charts showing project completion beside the coffee pot, and automated build report published on the intranet can be used as information radiators. One of the major challenges with traditional models of software development is that after the requirements analysis phase is complete, customer collaboration with the development team is very often limited. Therefore, it is difficult for the customer to determine whether progress is being made throughout the project. Software that is in working condition ? is the most important deliverable and the primary measure of progress in AMs. Agile focuses on working software rather than comprehensive documentation. However, it is important to note that agile approach does not discard the need for software design documentation.

Agile promotes sustainable development. This means that the sponsors, software developers, and users should be able to maintain a constant pace indefinitely. Social as well as technical aspects need to be considered. For example, one of the XP rules and practices is no overtime during the coding. Continuous attention to initial good design enhances agility. Design shall be reviewed and improved on a regular basis. Technical excellence applies to all aspects of a software development project. It includes coding standards, release management, documentation, tools, etc. Simplicity in design is essential since increased complexity in large software systems has been identified as one of the causes of the software crisis. Architectures, requirements, and designs emerge over time from self-organizing teams. A software architecture that grows in iterations over time can follow the changing knowledge of the team and the changing user requirements. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly for maximum productivity. Conclusion Agile Methodologies are becoming increasingly popular due to their promise of delivering software that meets the customer needs, flexibility to adapt to changing requirements, rapid delivery of valuable software, development simplicity, and quality of the code. Agile is probably not the answer for all software development projects, but when established, it shall deliver valuable software by meeting or exceeding customer requirements and expectations. During the recent economic downturn agile business processes may become more popular in IT companies in order to improve the business performance and to survive the crisis. Additional Reading Beck, K. (2002) Test Driven Development: By Example. Addison-Wesley Professional Beck, K. (2004) Extreme Programming Explained: Embrace Change. Addison-Wesley Professional, 2nd edition Beck, K.; Fowler, M. (2000) Planning Extreme Programming. Addison-Wesley Professional Cockburn, A. (2006) Agile Software Development: The Cooperative Game. Addison-Wesley Professional, 2nd edition Crispin, L.; Gregory, J. (2009) Agile Testing: A Practical Guide for Testers and Agile Teams. Addison-Wesley Professional, 1st edition Highsmith, J. (2002) Agile Software Development Ecosystems (Agile Software Development Series). Addison-Wesley Professional Schwaber, K.; Beedle, M. (2001) Agile Software Development with Scrum. Prentice Hall

November 2009 | 21

Cover Story

BEYOND TESTING

Effects of the Global Financial crisis on Software Testing Nadica Hrgarek


Abstract In today's business the term financial crisis is used to describe the recent economic downturn that started in early fall of 2008. Economic indicators point to moderately slower global growth and companies are forced to react fast to the changes in the market trend. They need to be flexible and open to new cost-effective and innovative approaches to get a competitive edge on the market and to improve the overall quality of their products and services. The effects of the ongoing economic crisis can be felt in almost all industries confronted with fear of job loss. In the IT industry today the crisis should be transferred into opportunity for software testers. IT industry needs well trained, experienced and highly skilled employees with a strong combination of programming and software testing skills. Many major corporations are affected by the global financial crisis and are looking for new efficient and innovative ways of decreasing costs and improving customer satisfaction. For example, they are looking for new locations with lower labor costs (e.g. outsourcing, nearshoring, offshoring), reducing training costs, cutting down (IT) jobs, increasing their business performance, etc. In 2004 Forrester Research has concluded that 1.2 million European jobs will move offshore by 2015. Due to the global financial crisis these numbers may even be higher than forecasted. According to Forrester Research, IT workers will take the biggest hit, approximately 150.000 jobs. In 2007 Gartner research has predicted that by 2010, 30% of Fortune 500 enterprises will source from three or more countries. American computer giant Hewlett-Packard announced last year to lay off about 24,600 employees over the next three years as part of a three-year restructuring program. In July 2009, Siemens Information Systems (SISL), the Indian subsidiary of the German giant Siemens AG, released 128 employees from one of the business units in Bangalore, as part of its cost cutting measure. Siemens is laying off its employees in Austria, Croatia, Hungary and many other countries too. Outsourcing countries like India which deliver software products/services with the high percent of the exports to the U.S. shall consider that investment into IT can decline in the next 12 months. The United States and Canada are India's largest export markets for computer software and services. Indian exports are mostly in the form of providing offshore software services including software testing services. According to A.T. Kearney study Offshoring for Long-Term Advantage: The 2007 A.T. Kearney Global Services Location IndexTM, India is the leading destination for offshore services. However, Gartner consulting agency predicts that by 2012, India's dominant position as an offshore location will be significantly diluted by effective alternative locations. The software testing industry is continuously growing. As per Indian NASSCOM (The National Association of Software and Services Companies), the market for software services is growing at an average of about 10-12% while testing is growing at more than 50% annually. According to Kris Gopalakrishnan, CEO at Infosys, the size of the global software testing industry will reach $13 billion by 2010 and India has the potential to acquire 50% of the world market. According to Gartner, India is expected to corner a 70% share of the software testing market. More than 100.000 software testing professionals worldwide are certified by ISTQB (International Software Testing Qualifications Board). According to Vipul Kocher, co-founder and co-president of PureTesting, a software test consulting/services company, India has thousands of ISTQB certified testers (www.istqb.org) and the low costs have always been an advantage. CEO of Russian information security software vendor Kaspersky Lab and leading antivirus expert, Eugene Kaspersky, expressed his concerns in December last year that some software engineers who lost their jobs due to the credit crunch will turn to cybercrime. He pointed out the rising trend of more sophisticated Trojan viruses and other malware attacks being propagated through the Internet to steal personal data, to get access to bank accounts and use stolen data for fraud transactions. According to Khalid Kark, a principal analyst at Forrester Research, the average security breach can cost a company between $90 and $305 per lost record. The total costs to the company may run into millions of dollars.

November 2009 | 22

Cover Story

BEYOND TESTING

Gartner research study Now Is the Time for Security at the Application Level points 75% of hacks happen at the application level. Many web 2.0 applications / web services are vulnerable and therefore an easy target for attacks. Some examples of the most dangerous attacks at the application level according to MITRE report 2009 CWE/SANS Top 25 Most Dangerous Programming Errors are: cross site scripting (XSS), SQL injection, improper authorization, hard-coded password, etc. Therefore, performance and security testing will become more critical today in the global testing industry. Many software testers are worried that during global crisis companies would rather lay off QA personnel than software developers. In smart companies which care about the quality, even in times of recession in the world economy, skilled software testers who make the contribution are needed. The value a software tester brings to the project team is much more than just finding bugs. Testing activities are an integral part of every software development process. These activities ensure the software quality and continuously add value to the software product. They cost time and money, but this shall be considered as a good investment in quality and ultimately to improve customer satisfaction. If done right, software testing can offer big return on investment.

Additional Reading A.T. Kearney, Inc. (2007) Offshoring for Long-Term Advantage: The 2007 A.T. Kearney Global Services Location IndexTM. Report number ATK807022 Hrgarek, N. (2009) The impact of global financial crisis on offshore outsourcing. Testing Experience, March, pp. 64-67 Lanowitz, T. (2005) Now Is the Time for Security at the Application Level. Gartner, Inc., December Martin, B. et al. (2009) 2009 CWE/SANS Top 25 Most Dangerous Programming Errors. The MITRE Corporation, January Parker, A. (2004) Two-Speed Europe: Why 1 Million Jobs Will Move Offshore. Forrester Research, Inc., August Wang C., Penn J, Dill A. (2008) Threat Report: The Trends And Changing Landscape Of Malware And Internet Threats. Forrester Research, Inc., June

November 2009 | 23

Jumble Words

BEYOND TESTING

Jumble Words
B A A A V E E P A D U E E E R G H Y E E B V E T Y U U E R C A L C O M P A T A B I L I T Y W E F D D O E P E E T W E H O H P T E E E E E Y T I L I B A S U W B B U B P R R R R I U M A H I R E D W F F D W Q Q Q R R Q R O R N A E E E E C P L P D A V E R S I O N G G G G G G G E R W R D I E T W K P P E I U A I N T E R F A C E O L E E E A E E R A C V A L U E E R L R A T N F A I L U R E E E E E C E E E R R A P I W W W E R E S P Y E T E W W W W W E R R L R W R R R Y R S P Q R S E E R H P A E E E C C S V S Q E E E Q R Q Q R P T E S T W A R E E A K A E S E G A S E F F C A R W W C O V E R A G E P L K J G H L B R T R P R E G R E S S I O N E E E E E E W R H R R W T A B M T C R E R A H H H H H H H N P S S S P A S A E S T W R A U E T A R R R R T P R W G E A K G W Q E E E E U E E E E E R A S W S R R E E E I O E R L L E E E E E E E R U L I A F E R O R R E R R R R R R O R P W W W W W W W W W W W W T E E E D E F E C T T N E D I C N I P O N D S I N G I E R W R B G E

Find the below words in this table. These words are either arranged Horizontally or Vertically
Activity Integration IEEE Compatability Version Interface Test case Error Defect Failure Checklist Result Boundary Value Testware Oracle Coverage Pass Failure Compiler Usability Plan Incident Regression

November 2009 | 24

Tools Review

BEYOND TESTING

Software Testing in the Recession Times


The first issue of beyond Testing - Non Stop is entitled Software Testing in the Recession (Troubled) Times. This issue brings together a collection of papers describing how is the current financial crisis affecting software quality management business. They all point to one key question: how to survive the global financial crisis and transfer the crisis into opportunity. As a result of the global financial crisis that started in early fall of 2008, companies are forced to react fast to the changes in the market trend and need to be open to new cost-effective approaches. Therefore, many major corporations are looking for new ways of cutting overall costs. They are looking for new locations with lower labor costs (e.g. outsourcing, offshoring services), reducing training costs, cutting down (IT) jobs, etc. American computer giant Hewlett-Packard announced last year to lay off about 24.600 employees over the next three years as part of a three-year restructuring program. According to Victor Janulaitis, CEO of Janco Associates, a Nevadabased IT management consulting firm, high-paying jobs within the IT function are targeted first when companies go bankrupt or are acquired. In 2004 Forrester Research has concluded that 1.2 million European jobs will move offshore by 2015 and IT workers will take the biggest hit (approximately 150.000 jobs). Due to the global financial crisis these numbers may even be higher than forecasted. CEO of Russian information security software vendor Kaspersky Lab and leading antivirus expert, Eugene Kaspersky, expressed his concerns at a press event in December last year that some software engineers who lost their jobs due to the credit crunch will turn to cybercrime. Customers are becoming more important than ever and companies are challenged to explore new markets, keep the current customers and improve customer satisfaction that will ensure future success and increased revenue. Testing activities to ensure the software quality cost time and money, but this should be considered as a good investment in quality and ultimately to improve customer satisfaction. If done right, software testing can offer big return on investment. For example, only one software bug can easily crash the whole system. If a show stopper happens on the customer site with thousands of users (e.g. banking software, e-government software) or the software can cause a death or injury (medical device software, automotive real time systems, navigation systems), just imagine how major damage to a company's image and financial security can be caused for an IT company. Acknowledgments: This issue is the result of a great work by many authors. This project was kindly initiated by the Test Manager at Zensar Technologies Pune, Govind Kulkarni. In addition, Kulkarni initiated the community web site for software testers EnjoyTesting.com. The Guest Editor is highly grateful to all contributors for their accomplishments. Nadica Hrgarek

Biography Nadica Hrgarek holds a Master of Science in information science from the University of Zagreb, Croatia. Since March 2007 she has been a member of the RA/QA department at MED-EL Elektromedizinische Gerte GmbH, a hearing implant company located in Innsbruck, Austria. Hrgarek is currently working as a Sr. QA Specialist Quality Improvement. Her responsibility covers all aspects of quality improvements ranging from coordination of corrective and preventive actions, non-product software validation support, conducting training, internal and supplier audits, etc. Before joining MED-EL she was a Software Quality Engineer at Fabasoft R&D Software in Austria, a System Analyst and Quality Specialist at InfoDom, and an Organization Assistant at Mercator-H in Croatia. Hrgarek is the co-founder and Head of the Advisory Board of the Croatian Testing Board (CTB). She is also a member of the German Association for Software Quality and Training (ASQF).

November 2009 | 25

Interview

BEYOND TESTING

Interview with Testing Practitioner


Associate Vice President and Practice Head - Testing Zensar Technologies Ltd., Pune

Prem Apte,

BT: Since you have rich experience of 30 years in IT, how do you compare your work experience in software testing as compared to other departments? Is it more challenging? PA : No doubt it has been very challenging on many counts. a) In the ever growing world of complex applications which interface with numerous external applications, there is a huge responsibility when certifying release of an application fit for use. b) Couple of years back there was a challenge in attracting talent to testing career. Effective testing requires very creative people who understand business, risks and technology to break applications early with optimum efforts. BT. How is Zensar doing in testing domain in the current downward trend of the market? PA : Surprisingly, we have been putting together so many teams for customer projects that over last 3 months that we do not believe there is slow down anymore. BT: How do you balance your work and personal life? PA : Work and life balance is a challenge in view of tremendous growth we are witnessing. I choose to have at least 2 hours for myself every morning before I start the work. I follow this practice even if I have to get up early for these two hours and still start a long day at 9:00AM sharp. Some part of the week end is reserved for visiting a place of meditation. BT. How do you see testing market in the near future? Which type of testing would be in more demand? PA : In the near future there is a big opportunity for independent testing in view of a) A high level of business dependence on IT applications working flawlessly with very high level of service b) A high level of integration with standard applications/products and services available. To that extent the scope of testing is much wider than the development which happens to create a very small portion of the solution and make sure it works properly. Testing has to ensure that the integrated solution works for the business users and other interfacing applications and services. c) Obviously third party independent testing will play a key role in the near future this will include not only functional testing but all aspects of testing to make sure the end-user almost forgets presence of a software solution. In fact all issues of functionality, intuitive use, response time, security, cross browser usage and so on should never be felt by the end user. BT: What is your advice for the youngsters opting for testing as a career? PA : Youngsters should go ahead and opt for a bright career in testing but keep following aspects in mind while developing their career. Always look at developing expertise in any one of the following so that they do not get a rude jolt after 10 years a) Develop expertise in a chosen domain b) Develop expertise in a technology area coming up e.g. Web 2.0 or Cloud computing. Particularly with reference to test automation tools for functional, performance and security testing c) Develop expertise in project management With this new doors will open up for them in their long term career.
November 2009 | 26

Khushbu Singh - HSBC, Pune Punam Dubewar - HSBC, Pune Shweta Ramteke - Futurisam, Pune Sameer Gawande - Aloha, Pune Amit Pore - Aloha, Pune Nilesh Jadhav - Net Magic, Pune Poonam Dass - MMF Sys, Pune Abhijeet Paul - Kiosk, Mumbai Ashish Dey - Quality Kiosk, Mumbai Nimish Dubey - Kiosk, Mumbai Vinaya Sawant - Kiosk, Mumbai Suyog Walke - Symphony, Pune
Sujatha Nangare - Symphony, Pune Vani Agrawal - Symphony, Pune Abhinav Shrivastava - Symphony, Pune

Atul Thange - Capgemini, Pune

Roshan Kumar - Capgemini, Pune Vipul Gurghate - Maxsecure, Pune

Vivek Prathani - Maxsecure, Pune Deepti Sharma - Nvidia

The Genie has already created magic in many lives, U could be the NEXT !

Payal Belapurkar - Infosys, Pune Kaustubh Dabhadgav - Light Bulb, Pune Kirti Maheshwari - S1 Services, Pune Shilpa Shinde - Blue Star, Mumbai Ujjawala Dighe - Senate, Pune Balwant Chouhan - HSBC, Pune Anushree - Aztec,Pune Amol Mani - Quality Kiosk Dheerendra Katiar - Quality Kiosk Chetan Bhalerao - Cybage,Pune Amol Hake - Cybage,Pune Sameer Dharmik - Cybage,Pune Kalpesh Modi - V2 Solutions, Mumbai Kajal Deore - Redknee, Pune Parshuram Satandekar - CGI,Mumbai

Ganesh Paimode - Playerx, Pune

Surya Mukherjee - Indus, Pune Sapna Jain - Cashtech,Pune


Anagaha Dongre - Cashtech,Pune Reena Shinde - Cashtech,Pune Akshay Sabnis - Redknee, Pune M.Rajitha - Sahir, Pune Rohit Vednere - Geometric, Mumbai Sapna Patil - Pyxis solutions, Pune

Swati Singh - Infosys,Pune Omkar Barve - softbridge,Pune

Dimple Lakhani - Zensar, Amey Andurakar - Emerson,Pune Pramod Barangale - Omnibridge, Pune Amod Joshi - PTC, Pune Swapnil Khandare - Cybage, Pune

Shruti Mathur - Sycamore,Pune


Bhavana Lal - BrainVisa, Pune
Sneha Karajkar - Bmc Software, Pune Aditi

Rishikesh Kokate - Bmc Software, Pune Jadhavar - Infosys

Uzma Khan - HSBC, Pune Dipti Mali - Avaya,Pune Prashant Rajput - HSBC, Pune Jaspreet - HSBC, Pune Malhar Katneshwar - HSBC, Pune Shaibal Mukherjee - HSBC, Pune Jagbeer Singh - Cybage,Pune Sachin Siddarkar - Geometric,Pune Rashmi Savlkar - Capgemini, Pune Ranjit Naik - Pyxis solutions, Pune

Pradeep Patil - Tech Mahindra Shweta Parchani - HSBC, Pune

Anjana Tirke - Symentech,Pune Dhiraj Surana - Q-logic, Pune Priyanka Shrishrimal - Syntel,Pune Shrirang Patwardhan - Saba, Pune Bhakti Jani - Saba, Pune Shweta Gupta - Qugnatia,Pune Shraddha Ukalkar - Approva, Pune Neeti Singh - Approva, Pune

Harshala Bhole - Pyxis solutions, Pune Vinayak Shiral - Pyxis solutions, Pune

Pallavi Dani - Approva, Pune


Ashwin Kedia - Cybage, Pune Prashant Pawar - Symantec,Pune

Rajesh Dara - Symantec,Pune

Pradeep Done - Cybage,Pune


Koyal Mukherjee - Alza, Pune
Pranjali Sahasrabudhe - Fast Track,Pune

Riswan Chikodikar - Cybage,Pune

Rimmi Banerjee - softbridge,Pune

Software Testing
In today's IT industry, there is a serious lack of trained professionals with the desired skill sets to take on the ever increasing demands of an industry which has been marked by sustained double digit revenue growth. Our program is aimed at providing focused hands on training in Software testing by the practicing Testing Professionals from the industry.
Our Programs: - Functional Testing - Performance Testing - Security Testing - Usability Testing - Test Automation Tool

Highlights: World Class Curriculum designed by SEED State-of-the-Art Training Infrastructure Certified & Experienced Trainers 25,000+ Interview Calls in Testing with our Clients Campus placement interviews every week Certificate Awarded Jointly by SEED 100% Placement Asst. with more than

200 leading IT companies

For registrations & more details contact :


SEED Infotech Ltd.: 'Panchasheel', 42/16, Erandawana, Seed Infotech Lane, Off Karve Road, Pune - 411004. Tel.: 020-25467484, 25410800 | Cell : 98508 85179, 99229 33317 Email: sqa@seedinfotech.com | Web.: www.seedinfotech.com
Branches :
Aundh Camp Chinchwad Deccan Hadapsar Satara Rd Sinhgad : 2nd flr., Sagar Apartments, D.P. Rd., Parihar Chowk, Aundh, Pune -07. Tel.:020-66091196 / 25898486/9881204114 : 314/1, 3rd flr., East Wing, Aurora Towers, M.G. Road, Pune - 01. Tel.:020-26138983 / 26138993 / 9881198738 : 1st flr., Laxmi Complex, Old Mumbai - Pune Rd., Nr. Adlabs, Chinchwad, Pune -19. Tel.: 020-27468308 / 99229 33327 : Office No.311,3rd Flr, Kamala Arcade, JM Rd, Opp. Balgandharva Rangmandir, Pune 05 Tel. : 9850060106/ 9850843654 : 3rd flr., Manisha Blitz, Nr. Mega Center, Pune Solapur Rd., Hadapsar, Pune -13. Tel.: 020-32533550 / 9921555200 : 303, The Pentagon, Nr. Hotel Panchami, off Pune-Satara Rd., Pune - 09. Tel.: 020-24226393/66032118 / 9225645641 : 2nd flr., Kalambe Complex, Sinhgad Rd., Manik Baug, Pune - 41. Tel.: 020-24353384 / 9960636220

TM

NUINE GE
CE

100%
AS

S I S TA

For Campus Placements & Recruitment Solutions, Call : + 91 9822671630

JO
B

Vous aimerez peut-être aussi