Upload
udatla
View
216
Download
0
Embed Size (px)
Citation preview
8/8/2019 sqe_bettersoftware_0310
1/49
8/8/2019 sqe_bettersoftware_0310
2/49
8/8/2019 sqe_bettersoftware_0310
3/49
8/8/2019 sqe_bettersoftware_0310
4/49
8/8/2019 sqe_bettersoftware_0310
5/49
8/8/2019 sqe_bettersoftware_0310
6/49
8/8/2019 sqe_bettersoftware_0310
7/49
8/8/2019 sqe_bettersoftware_0310
8/49
8/8/2019 sqe_bettersoftware_0310
9/49
8/8/2019 sqe_bettersoftware_0310
10/49
8/8/2019 sqe_bettersoftware_0310
11/49
8/8/2019 sqe_bettersoftware_0310
12/49
8/8/2019 sqe_bettersoftware_0310
13/49
8/8/2019 sqe_bettersoftware_0310
14/49
8/8/2019 sqe_bettersoftware_0310
15/49
8/8/2019 sqe_bettersoftware_0310
16/49
8/8/2019 sqe_bettersoftware_0310
17/49
8/8/2019 sqe_bettersoftware_0310
18/49
8/8/2019 sqe_bettersoftware_0310
19/49
Be trained from your desktop with SQETrainings eLearning courses. Experienceclassroom value with the convenience of self-paced instruction on the Web.
What are the benefits ofeLearning? Superior lesson content: Developed and
delivered by experts 90 Days access to all course materials:
Learners have unlimited 90 day accessto online content
Access to expert test consultants: Emailquestions and comments to the experts
Powerful multi-media format: Studentsexperience professionally narrated audioand video clips
Interactiveexercises: To reinforcenew skills and
concepts
Experience theAdvantages ofSelf-PacedeLearning
eLearning
Try our New Demos Now Available onlineat http://www.sqetraining.com/eLearning
New Courses Now Available in eLearning FormateFoundation for Requirements Development and ManagementA Roadmap to Success
If you currently develop and manage requirements, manage people who do, or plan to do eitherin the future, this course is for you. This course teaches essential requirements development
and management skills in a flexible self-paced eLearning format. The curriculum is a seriesof eight self-paced courses that build the foundation you need to successfully develop andmanage requirements for business projects and software products.
eSoftware Tester CertificationFoundation LevelBecome a Certified Software Tester from Your Desktop
Are you looking for an internationally recognized certification in software testing? Deliveredby top experts in the testing industry, eSoftware Tester Certification is an accredited trainingcourse to prepare you for the ISTQB Certified Tester-Foundation Level exam. This program isthe only internationally accepted certification for software testing, accredited by the ISTQBthrough its network of national boards.
eMastering Test DesignThe Art and Science of Creating Test Cases
This course begins where many software testing courses end. Once the test plans are written,
test teams are formed, and test tools are selected, it is time to create test cases. Since testingeverything is impossible, the first step in test design is to choose a subset of all possible testsof program paths and data combinations to find important defects quickly.
8/8/2019 sqe_bettersoftware_0310
20/49
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 17
Management Chronicles
As a de ect manager or, more speci cally, as a test manager incharge o de ects, I was never so popular as when I started touse a whiteboard to keep up to date with the latest ound and
xed de ects. Suddenly, senior program management knewwho I was and what I did. Every day theyd ask how manynew de ects were raised, what the priorities were, which oneswere critical, and even who was raising themdata I couldreadily provide rom my whiteboard. As the de ect numbers
went up, there would be more concern; as they came down,less. But as time passed, I realized thata lot o the use ul in ormation thatwas ound on the de ect managementsystem couldnt be reported using met-rics. These were the hidden messagesthat were important to decipher.
Defect Description andDeveloper Comments
Much o what turned out to be use ulin ormation was ound in the de ect
description and consequent developercomments. What mattered was how thedescription was written, not what the in ormation was. Whilesome testers reported de ects in step-by-step detailincludingpreconditions and all relevant dataothers simply stated thatthe system had crashed or that a calculation was wrong.
The large variety in reporting styles told me a number o things. It told me who were the experienced and con dent tes-ters and who were not so con dent. It told me which tech-nical areas caused rustrationwhich became apparent in thelanguage (Surely the developers can see..., This is the thirdtime...). This in ormation added to the weight o evidence
that certain unctional areas were high risk.Also, the developers replies and consequent debate toldme something about the relationship between the developersand testers. Again, the language de ned much o this, pro-viding some clear evidence that relations werent as good asthey could have been. The number o replieso ten three,
our, or ve rom each sideindicated that either the de ectresolution process wasnt working and that improved contactbetween development and the test team was needed, or thatthere was some con usion about what the requirements were.
Defect HistoryA de ects history sometimes gave me interesting in orma-
tion. Once, when trying to track down why a given de ecthad been closed months be ore with no explanation, it was
ound that on the day o closing, the de ect had gone througha number o hands. Following through with the parties inquestion led to the discovery that a wrong assumption hadclosed this and other de ects. The de ects were reinstated. Onanother occasion, we tracked another group o de ects thathad been allocated to an incorrect party. Again, studying the
history enabled us to recti y incorrect details and eed lost de-ects back into the workfow.
Defect Fields and FormatsPrior to taking a holiday, I prepared
a handover note or the de ect man-agement process. During the prepara-tion, I realized how complex the de ectmanagement system was becoming.The number o di erent de ect statusesshould have given this away. Therewere seventeen. There were also twenty
elds or testers to ll in. A commonreason we cited or why testing took
much longer than expected was because having to raise anddetail so many de ects was an onerous task. However, it didntoccur to me until this point that this was partly o our ownmaking and not just a result o de ect numbers.
I resolved to try to reduce this complexity, eliminating someo the mandatory elds, reducing the number o eld values,and removing some o the statuses. This had a small but im-portant e ect on the speed o the de ect process. Though weaccepted that capturing the correct data up ront was timeconsuming, it did mean less time was spent in the number o
in ormal queries returning rom developers.I discovered a use ul piece o in ormation when I askedwhy the test re erence eld in particular was rarely beingused. It turned out that many o the de ects were ound usingan exploratory approach rather than ollowing scripts. This inturn indicated that there was a problem with the quality o thesupplier testing. The supplier was using our test cases to testits so tware (in a rigid and incorrect ashion) and at no pointwas experimenting or trying to break the system. This turnedout to be one o the key discoveries o the project. As a result,two urther intermediate stages o testing were inserted, rstinto the supplier test cycle and then into the user testing (acon dence test immediately a ter delivery).
Hidden MessagesAn experienced test manager can gather useful information by looking at
more than the defect management systems data.by Dan Minkin | [email protected]
I realized that a lot of the
useful information that
was found on the defect
management system couldnt
be reported using metrics.
8/8/2019 sqe_bettersoftware_0310
21/49
18 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
Management Chronicles
The Defect Tool and Its UseAs the program moved later into the testing cycles, the use
o the tool became more widespread and higher profle. Whowas using the tool, when, and why gave me insight into theprogram dynamics and events.
The program manager would ask me what the latest fgureswere and explain to me why he needed to know. By knowinghis reason, I was able to add extra in ormation or pinpointde ects as the situation required.
By asking mysel who was interested in the in ormation,it became possible to identi y and build up relations withkey players in the program. It became clear that one o thestrand coordinators, who reported to the program manager,was really one o the driving orces o the program. The re-lationship that was ostered was mutually benefcial, with thecoordinator having readily available in ormation on so twarequality and the test team having an active and voci erous ally.
Defect StatisticsThe statistics that I provided on a daily basis were simple.
My daily report explained how many new de ects had beenraised, the total number o de ects to date, and how manyde ects existed with our supplier. No one ever asked me orhistorical data or how many de ects had been fxed by oursupplier since the start o the program or the average time ittook to fx a high-priority bug.
It was just as well. I couldnt have answered any o thosequestions, anyway. I hadnt set up the de ect system to capturethat kind o in ormation. Once a de ect was fxed, I wasnt in-terested in it anymore. But, that raised questions in my mind.Should I have planned or the time when the questions wouldbe asked? Was this program simply not interested in carrying
orward statistics into uture programs? When I questionedthe program test manager, his view was frmly the latter. Asa matter o pragmatism, this issue dropped into the back-ground.
The de ect management tool and process should be aguide. Statistics and de ects are use ul, but they are only awindow onto the health o the program. As always, it is theawareness into the human element o any part o the programthat makes or the ull story. Elements to be aware o includethe developers writing style, the amount o debate withinthe de ect descriptions, and how success ully the tool is beingused. A success ul test manager should not take data and in-
ormation merely at ace value but should use this to in ormhis view and to ask himsel urther questions. So, when youare looking at statistics rom your de ect management tool,know that there is more you can understand. {end}
This article originally appeared on StickyMinds.com.
Get your FREEtrial now at
purecm.com/start10-1
Mapping your release planning to your project congura on allows you to increase exibility and reducethe risk of human error. Get more than just a link between issues and code changes: get true integra on.
Imagine automa cally populated developer workspaces based on the release they need to work on.Imagine real- me status updates throughout the development lifecycle. Or imagine automatedno ca ons about xes missing in a current or future release, drama cally reducing the risk of regression bugs.
Learn how PureCM Professional can help you to manage your so ware development.Get the free evalua on resources at purecm.com/start10-1
Are you struggling to manage
Get integrated release planning, task tracking and source control tohelp solve your development challenges.
in parallel?maintenance and development
N E W
Visit StickyMinds.com to comment on this article
8/8/2019 sqe_bettersoftware_0310
22/49
Can you nd 7 mistakes in this photo?
Did you nd them all? Answers at www.testcomplete.com/hawkeye
Fun challenge, right? Great software testing feels like that.Now do that 5 times a day, every day, for the next yearWith the Exact. Same. Photo. Does your testing feel like that?
Time for TestComplete.
Free yourself to do the quality work that you love: explore, investigate and discover.
Test faster. Test better. Test more.
Did you nd all 7 mistakes?
TEST WITH THE BEST
TestComplete is the most exciting software testautomation tool available.
TEST ANYTHING
Web, Ajax, Flash, FlexWindows, .NET, WPF, SilverlightJava, Qt, Delphi, MS O ceFunctional, Load, Regression, Manual
TEST IT YOUR WAY
Automate without programming via Keyword TestingFree extension downloadsProfessional IDE for test engineersFriendly and responsive support
Visit www.testcomplete.com/hawkeyeto see how you did and try TestCompleteAutomated QACall Us: +1 (978) 236-7900
8/8/2019 sqe_bettersoftware_0310
23/49
20 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
What book do you consider a must read for someonejust starting out in the software industry?
Author recommended books, blogs, gadgets, Web sites, and other tools for building better software
Peopleware by Tom DeMarco and Timothy Lister because its a useful book on
the importance of teamwork in delivering software products.
Mike Cohn
James W. Moores The
Road Map to Software
Engineering: A Standards-Based Guide covers all of
the basic issues and points
the reader to where there
is detailed guidance on
just about every software
engineering topic. Testers can
obtain consensus-reviewed best
practices for both testing itself
and for any form of test basis.
Claire Lohr
For someone starting out as a business analyst in the software space, the
only place to start is Karl Wiegers Software Requirements . Karls coverageis pretty comprehensive and provides both a big-picture perspective and
immediately useful, detailed help for anyone writing requirements.
Scott Sehlhorst
The first testing book I owned and the one I still carry around is Tim
Koomen and Martin Pol's Test Process Improvement . It is portable, easy
to read, wide ranging, and full of suggestions. Other books are more in
depth but few are as practical.
Dan Minkin
8/8/2019 sqe_bettersoftware_0310
24/49
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 21
Code Complete by Steve McConnell. I
recommend this because it gives a nice
overview of the nuts and bolts of creating
software. Its essentially a handbook, and
helps set the bar for someone starting out in
their career as a coder.
Jonathan Kohl
Chad Fowlers The Passionate Programmer . It doesnt
matter if you are a developer, tester, writer, or whatever. If
you are starting out (or if youve been working for a while),
Chad has great ideas about how to take advantage of all
opportunities in your career.
Johanna Rothman
Gerald Weinbergs Psychology of Computer Programming .
It was the first book to describe programming as not just amatter of hardware and software, but a human activity with all
the richness that such activities possess.
Lee Copeland
Author recommended books, blogs, gadgets, Web sites, and other tools for building better software
Want to get our authors' take on a particular resource? Email us at
[email protected] Subject: Virtual Resource Shelf .
8/8/2019 sqe_bettersoftware_0310
25/49
22 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
FREEFUZZING TOOL!Unique opportunity to test top-of-the-range
commercial testing software for free.
Request your free copy now!http://www.codenomicon.com/free-ftp-suite/
FUZZING and the SDL
The Microsoft SDL
The Microso t SDL is the industry-leadingso tware security development process. Itis ounded on the idea that security shouldbe built into so tware during the so twaredevelopment process. It basically lists all thesecurity measures that need to be carried out
during the development process groupedaccording to di erent phases o the SDLC.For testers the most important phase in theSDL is the verifcation phase, where uzzingis used to test the robustness o the systembe ore the release.
Fuzzing in the SDL
Fuzzing is a natural part o the SDL, becausethe entire uzzing methodology promotesbuilding security into systems, instead o protecting vulnerable systems. In the Micro-so t SDL, uzzing is used in the Verifca-tion phase. However, uzzing can be used
throughout the development process romthe moment the frst so tware compo-nents are ready and even a ter the release.
The earlier the vulnerabilities are ound, theeasier and cheaper it is to fx them.
The idea behind uzzing is simple:unexpected data is ed to the inputs o a system and the behavior o the systemis then monitored. I the system crashes,then there is a bug in the so tware, whichcould have been exploited by attackers.However, the vulnerabilities can also betriggered by simple unexpected inputs inevents like heavier than normal use, systemmaintenance or when other devices orsystems send mal ormed inputs as a result o error conditions. A zero-day vulnerability is aticking time bomb, it does not really matterwhat eventually sets it o . The importantthing is to get rid o them.
Codenomicon was selected to participateas a tool vendor in the Microso t SDL Pro
Network, which assists companies in inte-grating the SDL into their developmentprocesses. Its o -the-shel De ensics solu-tions provide an easy way to ul ll the SDLs
uzzing requirement. No test tool creation ormaintenance e ort is needed, and as a so t-ware based solution De ensics is easy to inte-grate into existing tool libraries.
Answering testing challenges
The biggest challenges in Fuzzing arehandling the in nite number o possibletest cases and reaching the deeper protocollayers. Codenomicons intelligent uzzingmethods, which are based on protocol speci-
cations, cover the entire protocol imple-mentation, and thus they can target protocol
areas most susceptible to vulnerabilities toshorten test run times. Robustness tests canbe run, or example, automatically with everybuild. Intelligent Fuzzing tests can also unc-
tion as the peer o the tested system andgo through extensive message sequencesmaking it possible to identi y vulnerabilitiesin deeper protocol layers.
With new technologies the speci cationsare not always available. In such cases, tra ccaptures can be used to create mutation-based uzzers. Tra c capture uzzers arebased on real tra c samples, thus they onlycover a limited selection o the implemen-tation. Yet, per orming tra c capture basedtests already signi cantly improves the secu-rity and robustness o the system. Moreover,no additional knowledge is needed, thustra c capture based tests are quick to createand easy to execute. Codenomicons tra ccapture uzzer is an excellent tool or gettingstarted with zero-day bug discovery.
Benefts o Testing with De ensics
The biggest bene t o Codenomicons uzzingmethod is its ability to nd not only known,but also unknown or zero-day vulnerabili-ties. Fuzzing is essentially simulating attacksagainst a system under test to nd vulnera-bilities in it. Firewalls and virus scanners onlylook or known vulnerabilities and they addto the complexity o your system increasingits attack sur ace. Furthermore, applicationservice providers, like online-banks and webstores, cannot build ortresses around theirapplication, because their customers need tobe able to use their services.
Gain time and save money through preemp-tive testing. Instead o racing against theclock to get your system to work again andspending valuable resources in calmingdown angry customers, use uzzing todiscover faws and create patches or themproactively, be ore any problems occur. By
integrating uzz testing into your so twaredevelopment li ecycle, you can discoverfaws at the earliest possible moment andsave valuable resources.
To read more about Codenomicon and integrating fuzzing into your softwaredevelopment lifecycle, go to http://www.codenomicon.com/bettersoftware/
The increased complexity of new technologies and faster software releasecycles are making signature-based security solutions redundant. Insteadmore adaptable preemptive testing is needed. Moreover, due to outsourcing,the software development process itself is also becoming more complicatedcreating the need for more powerful project management tools such assoftware development lifecycle models (SDLC). The Security DevelopmentLifecycle (SDL) combines preemptive security testing with the SDLC model.
Advertisement
8/8/2019 sqe_bettersoftware_0310
26/49
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 23
Digital Survey Questions
To participate in the survey, go to www.stickyminds.com/cloudsurvey . Results will
appear in Better Software magazine's May/June 2010 print and digital editions.
What do you consider the biggest beneftto cloud computing?
What is your main concern with cloudcomputing?
What percentage o your organization's ITresources have moved to the cloud?
8/8/2019 sqe_bettersoftware_0310
27/49
June 611, 2010Las Vegas, NV
www.sqe.com/adpwest
RegisteR by apRil 9, 2010 and
save up to $400gRoups of 2 save even moRe!
KEYNOTES by international experts
Tim Lister Atlantic Systems Guild
Robert C. MartinObject Mentor
Johanna RothmanRothman ConsultingGroup, Inc.
Ryan MartensRally Software Development
indu try spon or :Conference
spon or:
NEW FOR 2010COLLOCATEDCONFERENCES!
C f c s :
+
Your registrationincludes full access to
the Better SoftwareConference!
8/8/2019 sqe_bettersoftware_0310
28/49
Build Your Conference!Co fere ce chedu e i c ude mu i-d r i i g c e , u ori , ke o epre e io , co curre e io , ummi e io , d more!
sunday
Monday Tuesday
wednesday Thursday
s f w t C i c i F u d i l vt i i g (3 d y )
sc um M C i c i (3 d y )
p c ic t -d iv D v m (3 d y )
agi t i g p c ic (2 d y )th F u d i f agi D v m
Ch f m 37 h f- d fu -d y u i h w y u i -d h u ci c ic .
4 K y p i24 C cu s in w ki g expos ci ev d M !
friday
ag e le er h p suadd f h d o our co fere ce eve b e di g he agi e le der hip summi t ki g agi i
o he nex leve . Joi our peer d gi e i du r ve er o exp ore he u ique ch e gef ci g of w re deve opme e der gi e pr c ice move i o he m i re m. you he r wh worki g d o worki g d h ve he oppor u i o h re our experie ce d ucce e .
. q .c m/ p t RegisteR by apRil 9, 2010 and save up to $400!
Popular Tutorials Include:
aDapti g agi : a Guid t i i i g
e u p j c succ wi h sc umth righ W y
r i g l g -sc agi p j c
G i g agi wi h sc um
W i i g eff c iv agi U C
agi r p i g, M ic , d r c iv
sy m thi ki g f l d agi G w h
agi e im i g d p i g
p i ci d p c ic f l -agi D v m
agi p j c p i g: bui di g s g b ck g
tr n on ng o ag e
ag e i p e en on
scru
an much more!
ag e deve op en techn que
ag e te ng
8/8/2019 sqe_bettersoftware_0310
29/49
I S T O
C K P H O T O
26 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
8/8/2019 sqe_bettersoftware_0310
30/49
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 27
Early in my testing career , I discovered exploratory testing (simultaneous testdesign, execution, and learning [1]) and tried to practice what experts recommendedin their articles. I thought I was applying their ideas as best I could, and I knew whatI was doing would be called exploratory testing, but I was concerned. I wonderedi I was missing something. I had this gnawing ear that I had misinterpreted or mis-
understood a key concept. In short, I lacked confdence in my exploratory testingapproach.You can imagine my surprise when I met exploratory testing trainers who were more
interested in my ideas and experiences than in my ability to recite theirs. Now that I mentorand train exploratory testers, I fnd that I, too, am more interested in other testers uniquepractices, ideas, and experiences than my own. Thats whats wonder ul about thinkingabout testing rom an exploratory perspective: It is human centered. Instead o dehuman-izing the tester by reducing testing to a clerical task or by trying to automate away testers,we embrace their unique skills and experiences and the value they add to our projects. Weuse both so tware and thinking tools to give testers more power, not diminish it.
Recently, a test manager approached me a ter an exploratory testing training course.Finally, I have words to describe what my team and I have been doing or years! she saidand thanked me or not making them eel stupid or being unconventional in their testingwork. Youre the frst consultant Ive talked to who didnt tell me I was doing it wrong.She wasnt doing testing wrongin act, the development team was delighted with theresults o her teams testing e orts. Trouble was, the consultants who had worked with herteam were uncom ortable with her exploratory testing approach and the testing styles herteam typically used. This is an important lesson: Just because an approach is unconven-tional doesnt mean its wrong.
Exploratory Testing StylesBecause exploratory testing has less visible structure or example, it lacks explicit steps
and expected resultsthe test execution is di erent depending on who is doing the testing.There are di erent styles and variations that o ten yield similar results. What ollows aresome styles Ive observed.
IntuItIve This is the most common style. Testers who havent learned specifc exploratory testing
techniques tend to do this naturally. When you ask them what they are doing when theyare testing in the absence o pre-scripted test cases, they may say, I dont know why I didthat, or that they are using their intuition. Intuition is just a ancy way o saying, I amdoing this because o the insight I have based on my experience and knowledge. It canappear to be random or chaotic, but when the tester is pressed or an explanation o whathe did, a structure and purpose emerge.
LearnIng domInant This is also very common. Even shops that insist that all their test cases be designed and
recorded prior to ormal testing use this exploratory testing style during test design. Whilewriting test cases, the test designers will try out new so tware or a new eature that theyneed to learn about. As they learn, they invariably fnd bugs. This is also true o automatedtesting. As the automators learn about the system, they o ten will use an exploratory ap-proach as they try to get the automation tool to interact correctly with the application.
The concept o touring [2] heuristics to learn about applications is becoming popular.Touring is a good test idea-generation activity. Testers create models o the so tware theyare testing or use mnemonics to help them look at the application in di erent ways. Thislearning about the application leads to bug discoveries and test ideas. Some examples in-clude creating coverage maps and ollowing them or using di erent kinds o touring in aheuristic. For example, James Bach talks about touring the application to see i you canidenti y all the eatures. Or, try using the so tware the way you imagine di erent users
would. Touring is a power ul tool or test idea-generation and discovery.
8/8/2019 sqe_bettersoftware_0310
31/49
28 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
SyStematIcMore advanced exploratory testing involves using a par-
ticular system, model, or strategy to guide your testing. This isdone to be more thorough in looking at and testing the system,and to be more consistent in our exploratory testing work.When I started working with James Bach, one thing he noticedwas inconsistency in my exploratory testing execution. I mightuse one set of test ideas and tools on one application but adifferent set on another. He taught me to use abstract models(see his Heuristic Test Strategy Model for more information)during test execution to guide my thinking and to help my ex-ploratory testing be more repeatable and consistent.
r egreSSIonYes, even exploratory testers have to do regression testing.
The difference between what scripted testers think of as re-gression testing and the exploratory testers version is in thelevel of guidance used. Exploratory testers often use light-weight coverage outlines as guidance rather than test cases.The guidance of the outlines helps ensure we can easily andfrequently repeat testing in desired areas. Using lightweightguidance with an exploratory approach to regression testing
can be quite effective. Stakeholders have a good idea of what
is being covered, such as features, functions, user scenarios,etc., while still allowing the test executors natural variationto discover problems quickly.
InteractIve automated /tooL Supported [3, 4]Exploratory testers often use automation tools to help
them. For example, if regression testing is becoming a burden,some aspects of testing may be automated. Task automationfocuses on speeding up activities like data loads or installingnew builds and can extend to test setup for exploratory testing
sessions. [5] These tests are run under the supervision and di-rect control of the tester who can step in and intervene manu-ally at any time.
Exploratory testers also use test automation that runs un-attended, particularly if the tasks are better served by a ma-chine than a human. The interactive part comes in when ex-ploratory testers use the tools to help them simulate differentkinds of conditions and then observe the results, change fac-tors, and rerun the tests.
Enough Words! How about a Picture?Most people who understand the unscripted, improvisa-
tional sense of exploratory testing but worry whether they are
Figure 1: Exploratory testing mind map
8/8/2019 sqe_bettersoftware_0310
32/49
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 29
are de ned at a higher level than test cases, spelling out prod-ucts, areas to be tested, and lists o testing ideas. A tester mayrun one test in a checklist based on that idea, or he may runmore, depending on the task at hand, his schedule, and whathe discovers while testing.
Information Sources
We use all sorts o in ormation when testing. With experi-ence, we grow our own testing toolbox o ideas and tools,and we sometimes nd it di cult to explain where our com-piled knowledge comes rom. This knowledge comes romour testing experience, as well as books, Web sites, productin ormation, subject matter experts, other team members,and con erence, course, or workshop materials. It is pre er-able to use many rich sources o in ormation to help guideour testing. As in ormation providers regarding the quality o the product under test, any in ormation that helps us do ourwork is use ul. The richer our in ormation sources, the morein ormed our testing will be.
GuidanceWhen we test, we usually have some sort o guide. This can
be as simple as a bug report that we use or a bug x veri ca-tion, a test idea, or a test goal or charter or a testing session.Guidance can be more ormal in the orm o test checklists,coverage outlines, visual coverage, eature maps, or test cases.What we use or guidance is in ormed both by our coveragemodels and our in ormation sources. For example, we mayhave a coverage outline or unctional testing that is in ormedby our own knowledge and experience, as well as by sourceso in ormation rom our project and rom external sources.This coverage outline will guide our testing.
Guidance also comes in the orm o experienced teammembers and outsiders who can help you and your team. Inmy work with testing teams, I help them develop skills andstrategies so they can accelerate their learning and reducetheir trial and error. Using outside expertise such as a trainer,article, concept, or coach can help. Also, look or expertisewithin your team. More experienced teammates are a wealtho in ormation and are great to bounce testing ideas o o .
Structured vs. UnstructuredStructured exploratory testing has more guidance and
more visible tools and documentation. For example, session-based test management [11] is a method or adding rigor to re-cording exploratory testing so it may be reviewed or audited.Instead o writing test cases in advance, testers take detailednotes while testing. These notes are collected, reviewed, andstored or audit purposes. At the other extreme, we may en-gage in unstructured exploratory testing, which is sometimescharacterized as ad hoc or jumping around the applica-tion to nd problems. Exploratory testing can be very un-structured or very disciplinedand it usually alls somewherebetween the two.
TechniquesSince exploratory testing is an approach to testing, not a
doing it right arent necessarily doing anything wrong; theymerely lack con dence. One way to banish a lack o con -dence is to develop your testing skills. Describing exploratorytesting can be di cult, but Ive ound the mind map in gure1 to be help ul. As you look through the mind map, does ithelp your thinking about exploratory testing? Can you iden-ti y areas that resonate with you?
I use this mind map to show that, although there may belittle visible evidence, exploratory testing still can be a dis-ciplined, structured orm o testing. Its just that the testerkeeps track o more o the structure and guidance in his head.Exploratory testing isnt just playing with a product untilit breaks, and it doesnt need to be a set o simple quicktests. O ten improperly characterized as super cial bughunting or quicktests [6], exploratory testing can, in act,take us ar beyond that.
Coverage Models When testing, we have some idea o coverage, or how
much we are going to test a product. Cem Kaner de nes cov-erage as the amount o testing done o a certain type.[7] We can expand that to the amount we are testing softwareusing different approaches . We reveal di erent in ormation i we test an application in di erent areas, in di erent ways, orwith di erent techniques and tools.
There are many ways o de ning coverage [8], which arecalled coverage models . A coverage model describes how youare going to test the so tware. Because testing rom di erentperspectives reveals di erent kinds o in ormation, its betterto use di erent kinds o coverage models than one singlemodel. [9] For example, we could use a requirements-basedapproach and de ne a certain amount o testing to veri y theso tware meets requirements. We could also determine cov-erage using di erent testing techniques, such as de ning cov-erage according to security, per ormance, accessibility, etc.and de ning an appropriate amount o testing in each area.We will usually use one model at a time when testing, but it isnot uncommon to change models on the fy.
Choosing appropriate models can be determined by howwe want to mitigate risk on a project or through other moti-vations. It depends on what our stakeholders are looking or.For example, with so tware startups, stakeholders o ten aremore concerned with how testing in ormation a ects theirability to sell their product (capitalize on potential rewards)than in direct risk mitigation.
James Bachs SFDPOT San Francisco Depot mnemonic[10] (an abstract model or testing) spells out six possiblemodels o coverage or exploratory testers: the structure o the application, its function , the data it uses, the platforms itruns on, the operations its users typically engage in, and theimpact o time on the system.
One lightweight method o keeping track o what wastested and when is to use coverage outlines . Coverage out-lines are physical documents that o ten take the orm o checklists in a spreadsheet or visual diagrams that show userfows through the system. Their purpose is to direct and guide
testing and to communicate what was tested and why. They
8/8/2019 sqe_bettersoftware_0310
33/49
technique [6], any testing technique can be utilized i it helps.Classic analysis techniques such as boundary value analysis,equivalence class partitioning, root-cause analysis, classifca-tion trees, and others can be applied to exploratory testing. I a technique helps you generate testing ideas that lead to bettertesting, use it. An exploratory testing approach can be usedwith any kind o testing technique, such as per ormance, load,
unctional, usability, accessibility, security the list goes onand on.
SkillsIt is di fcult to narrow down a short list o skills use ul
or so tware testing. Ive worked with a lot o di erent tes-ters with di erent skill sets, and the testers tend to draw ondi erent areas o experience. I see the ollowing skills mosto ten:
Strategic thinking: Pick an area o ocus and adjust testingto provide in ormation in areas that yield the most use ul in-
ormation. Idea generation: Exploratory testers need to be able to
think o di erent ways to test the so tware in the moment.I they see something strange, they adapt their testing. Thistakes practice, and to do it well, testers use mnemonics to helpremember di erent strategies and techniques.
Investigation: Analyze the product and the space in whichit operates, fnd areas o interest, and explore those areasusing tools, processes, and testing techniques to reveal use ulin ormation.
Communication: Its important to remember what youdid (i you didnt record a testing session) and explain yourstrategy and what problems you ound. I we discover im-portant in ormation but cant communicate it in a variety o ways, that in ormation doesnt help the team.
I tend to talk a lot about exploratory testing as investiga-tion (something I picked up rom Cem Kaner) and related in-vestigational skills. Technical skills that we develop on so t-ware teams rom programming to technical writingare anatural ft. Skills related to understanding the business, ourcustomers, and how they use our so tware are also very use ul.Ive seen wonder ul testing rom ormer orensic accountantsand stock traders. Both pro essions attract natural investiga-tors who are taught to assess systems rapidly and listen totheir gut eel or intuition.
OutputsWhen we test, we discover in ormation that stakeholders
on the team need to help make decisions about the so tware.We provide in ormation to other stakeholders in many ways:
Bug reports: Typically distributed to the technical team,bug reports need to be well written so programmers can easilyreproduce and fx the bugs.
Notes: Personal notes help us as we make our testing ob-servations visible and help us create reports that can be sharedwith our teammates.
Session sheets: Descriptions o testing activities capturedduring session-based exploratory testing can be used in regu-
lated environments and can be used to help review our work
with colleagues to see i we have overlooked anything. Withteams that use both exploratory and scripted testing ap-proaches, session sheets and personal notes can help in testcase creation.
Status reports: From low-tech testing dashboards [12] toverbal reports to stakeholders, communicating status helpsthe rest o the team understand what we have tested and the
state o the application under test.Test coverage reports: Stakeholders want to know howmuch testing o a certain type we have completed. Histori-cally, we have counted test cases, but using multiple models o coverage and explaining what we actually worked on duringtesting can provide richer in ormation than bug counts orpass/ ail metrics.
Quality criteria: Its important to have measures to deter-mine whether we are making our quality commitments withour so tware. For example, HP has used the FURPS+ modelo quality criteria. [13] When using these sorts o models, wecan report the unctional applicability o the system undertest and the usability, reliability, per ormance, and supportmeasures that we have agreed on as a team.
Blocking issues, problem areas: Its important to raiseawareness to decision makers when we are unable to com-plete aspects o our work. Its also very important to providethem with a sense o our qualitative impressions o the prod-ucts we are testing.
Effort and priorities: We cant test everything, and we areusually on a time budget, so we need to express what we havetested and what we think we need to test. We also need todemonstrate a sense o priority.
Our testing outputs are our only visible work productsthat other team members can see. We need to put e ort intodetermining what others need, be accountable or our work,and provide stakeholders such as programmers, managers,and decision makers with the in ormation they require. I thestakeholders are concerned with our approach, we need toadjust and provide them with what they need.
Ultimately, exploratory testing is determined by the mindo the tester who is doing the testing, and, as a result, it isinterpreted in many di erent ways. Dont let ear, uncertainty,and doubt get in the way o your testing. Instead, use explor-atory testing re erences to help guide your skill developmentand share your experiences with others. Sharing our ideasabout testing, inviting scrutiny, and making our testing ap-proach de ensible are important. I your team appreciatesthe testing in ormation you provide, dont worry that youredoing it wrong. I you are practicing your exploratory testingapproach and your testing is adding value to your teams e -
orts, you are doing it right . {end} [email protected]
For more on the following topic go towww.StickyMinds.com/bettersoftware.n References
30 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
8/8/2019 sqe_bettersoftware_0310
34/49
8/8/2019 sqe_bettersoftware_0310
35/49
I S T O C K P H O T O
Teams using a sequential development processhave become accustomed to hando s betweenspecialists. Analysts hand their work to designers,who hand it to programmers, who pass it on to
testers. Teams that are new to Scrum o ten do not go arenough in eliminating these hando s, wrongly assuming, orinstance, that the programmers should fnish programming aproduct backlog item be ore handing it o to the testers orthat analysts should work at least one sprint ahead o the resto the team.
High-per orming Scrum teams, however, have learned todo a little bit o everything all the time during a sprint, therebyeliminating large hando s. To do this e ectively, teams mustmake three changes: avor talking over writing, make hand-o s very small and very o ten, and mix the size o items thatare brought into each sprint.
Stop Writing and Start TalkingTheres a grand myth about requirements: I you write
them down, users will get exactly what they want. Thats nottrue. At best, users will get exactly what was written down,
which may or may not be anything like what they really want.As such, Scrum teams orego a lengthy, up- ront requirementsphase and the resulting product specifcation in avor o a dy-namic product backlog.
Because Scrum teams shi t ocus rom writing about re-quirements to talking about them, conversations with theproduct ownerrather than a product specbecome the pri-mary way o fnding out how a new eature should behave.Team members talk with the product owner about how a
eature should work, how quickly it should per orm, whatacceptance criteria must be passed, and so on. Scrum teammembers also talk with users, customers, and other stake-holders as appropriate and, perhaps most importantly, witheach other.
On traditional projects, analysts o ten act as intermediaries,communicating customer needs to programmers. On Scrumteams, however, analysts unction as acilitators, ensuring thatappropriate discussions between team and product ownertake place. For instance, an analyst might steer the productowner and team toward talking about a particular user storybecause it has more risk than another o going astray. At other
32 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
8/8/2019 sqe_bettersoftware_0310
36/49
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 33
times, an analyst might convey a top-level understanding of anew feature to the team before bringing the team and productowner together to discuss the details. In all cases, analysts onScrum teams foster communication rather than distill infor-mation through a document.
All of this is not to say we should abandon written require-ments documents. Rather, we should use documents whereappropriate. Experienced Scrum teams lean heavily on cleanlywritten code and automated test cases. They then augmentthese forms of documentation with a written requirementsdocument only to the extent that such a document is helpfulor required for regulatory, contractual, or legal purposes. AsTom Poppendieck, coauthor of books on lean software devel-opment, once told me, When documents are mostly to en-able handoffs, they are evil. When they capture a record of aconversation that is best not forgotten, they are valuable.
Transfer Small Tasks FrequentlyOn Scrum teams, the unit of transfer between disciplines
should be smaller than an individual product backlog item.That is, although there will always be some handoffs, the
amount of work being transferred from one person to thenext should generally be as small as possible.
As an example, suppose a team is developing a new eCom-merce application. The team chooses to work on this userstory from its product backlog: As a shopper, I can selecthow I want items shipped based on the actual costs of ship-ping to my address so that I can make the best decision. Atthe beginning of the sprint, those who are interested in orwho will be involved in developing this feature begin to dis-cuss it. Lets suppose this group includes the product owner,a business analyst, a tester, and a programmer. They begin bytalking about some of the general requirements implicit in thisfeature: Which shipping companies (FedEx, DHL, etc.) do wesupport? Do we want to support overnight delivery? Two-daydelivery? Three-day delivery?
As these discussions occur, the individuals involved naturallywill begin thinking about how to get started. On a traditionalproject, each person would be able to start however he wanted(after the work was handed over). On a Scrum team, however,how to get started should be a collaborative discussion amongthose who will work on this feature. For this example, lets
8/8/2019 sqe_bettersoftware_0310
37/49
assume that the programmer or some reason makes the casethat it will be easier to start with FedEx. The tester agrees. Theanalyst states an intention to investigate DHL and learn moreabout the parameters that a ect DHL shipping costs. The ana-
lysts goal is to have that in ormation available by the time theprogrammer and tester nish with FedEx.
When the programmer knows enough to get startedcoding, she does so. The product owner, analyst, and testerdiscuss high-level tests (Will our site ship any odd-sized itemslike skis?). A ter that discussion, the tester turns the high-levellist o tests into concrete tests (boxes o this size and weightgoing to that destination). The tester creates test data and au-tomates the tests. Some automation may be possible withoutany interim deliverables rom the programmer, while ull au-tomation may require getting an early version rom the pro-grammer. While the tester is thinking o the concrete tests, he
also should in orm the programmer o any test cases that shemay not be considering while shes programming.When the programmer and tester have nished, they add
support or calculating FedEx shipping costs into the build,complete with automated tests. Graphically, this can be de-picted as shown in gure 1, where our individuals work to-gether on one product backlog item rather than handing it o to each other.
Next, the programmer and tester check in with the businessanalyst, who hope ully has learned more about calculatingDHL shipping costs. The process is repeated, and support orDHL shipping calculations is added to the application whenthe programming and testing are complete. The key elementin gure 1 is that the team has learned to work by doing alittle o everything all the time. Rather than an analysis phase(done without the programmer and tester) ollowed by a pro-gramming phase ollowed by a testing phase, a little o eacho those activities is happening at all times.
A symptom o continuing to hand o work in overly largechunks is a tendency or no product backlog items to be n-ished until the last ew days o the sprint. Testers on teamsthat work this way o ten complain that they are given nothingto test until two days be ore the end o a sprint and then are
expected to test everything that quickly. The best way to ex-pose this problem is to create a chart o the number o productbacklog items nished as o each day in the sprint. An examplecan be seen in gure 2a. As the ScrumMaster on a team, I
o ten just hang this chart in the team area with no an areor explanation. Team members soon gure out the problemexposed by a chart like this and, hope ully, start to nd waysto nish product backlog items sooner. The result o ten willbe similar to gure 2b, which shows a much smoother fowthrough the sprint.
Create a Manageable MixWhen planning a sprint, teams should pay attention to the
sizes o the product backlog items to which they are commit-ting. Some product backlog items are more complex than theFedEx/DHL example given. Its possible that some productbacklog items might require a week or more o program-ming be ore a programmer can provide a tester with some-thing even initially testable. Thats OK. Not everything canbe split as small as we might like. The key is to avoid bringinga bunch o items like this into the same sprint. Doing so willshi t too much testing work to the end o the sprint.
Instead o planning a sprint with, or example, three verylarge items that cannot be partially implemented, bring oneor two such items into the sprint along with two or threesmaller items. Some o the programmers can work on thelarge items, handing them over to testers whenever possible.The remaining programmers can work on the smaller items,ensuring a somewhat smoother fow o work to testers earlyin the sprint.
Creating the right sense o teamwork can be challenging.ScrumMasters can help by ensuring that the team embracesthe concept o whole-team responsibility and whole-teamcommitment to deliver working so tware at the end o eachsprint. Though the team might struggle at rst to break long-held habits o specialization and hando s, increasing commu-nication, decreasing the size o hando s, and mixing the sizeo backlog items brought into a sprint will help individualsmake the shi t rom sequential development to working as ateam. {end}
Figure 1
Figure 2
A symptom o continuing to hand o work in overly large chunks is a tendency
or no product backlog items to be fnished until the last ew days o the sprint.
34 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
8/8/2019 sqe_bettersoftware_0310
38/49
Software
teStingAnAlysis & Review
T h e G r e a T e s T s o f T w a r e T e s T i n G C o n f e r e n C e o n e a r T h
September 26October 1, 2010San Diego, CaliforniaHilton San Diego Bayfront
Choos f om a f w k of a n n , n wo k n , and mo Sunday Multi-day Training Classes begin
Monday tueSday In-depth half- and full-day TutorialsMulti-day Training Classes continue
wedneSday thurSday Keynotes, Concurrent Sessions, the EXPO, Networking Events,Receptions, Bonus Sessions, and more
friday Testing & Quality Leadership Summit
regiSter by july 30, 2010 and SaVe uP to $400.
grouPS of 2 SaVe eVen More!
www.sqe.com/starwest
8/8/2019 sqe_bettersoftware_0310
39/49
36 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
Together
I S T O
C K P H O T O
Working
Not Just Working Together
by Johanna Rothman
8/8/2019 sqe_bettersoftware_0310
40/49
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 37
S ophie strode down the hall to Randys o -fce. Randy, what is this? she asked as she waveda shea o papers.
Randy looked up and said, I have no idea. Whatare you waving around?
Your plans or your group!Oh, my predicted project port olio
or the next six months?Yes! When were you going to talk
to me? Im the development manager!I youre not testing the systems weredeveloping, what the heck are youdoing?
Well, this is what Ive been tryingto discuss with you or the past ewweeks, but you havent made time tosee me. So, I thought Id publish myport olio and get your attention. Itworked, eh?
Sophie and Randy are working to-gether, but they are not collaborating.
Collaborationthe ability to work jointly with othersissomething we talk about a lot. We demand it in job descrip-tions. We assume the people who run the business do it. Weexpect it o teams. But, how do people really collaborate?
Assuming you can get people to sit down together, a goodway to think about collaboration is to think frst about thesteps to collaboration.
Steps to CollaborationIn Building Trust in Business, Politics, Relationships, and
Life , Robert C. Solomon claims there are fve steps to buildinga trusting relationship, as shown in table 1.
Notice that the last step is extending trust. Sophie is surprisedby Randys plans. He is promising to deliver some workjustnot the work she wants done. But, Sophie hasnt been consis-tent in her actions and reactions, because she hasnt made timeto work with him. I she re uses to make time to work on the
port olio with Randy, she hasnt been trustworthy.
Barriers to CollaborationIn my experience, team size matters, too. I you have a
small team ewer than ten peopleyou have a good chanceo making collaboration work. But, i you are trying to getten or more people together to collaborate, its much harder.
Thats because its just about impos-sible to create a team o ten or morepeople. Groups o more than ninepeople splinter into smaller groups o three to seven people.
In addition to team size, there areseveral barriers to collaboration thatorganizations imposeperhaps unin-tentionallyon people:
Playing a zero-sum game: A zero-sum game is a game where one personwins everything while another personloses everything. When you rank proj-ects, there is only one No. 1 project. Ina real sense, one project wins and theothers lose. Thats the only zero-sumgame you want to play in an organi-
zation. Otherwise, you are not optimizing the work at thehighest level. I people cant decide which projects are rankedfrst, second, and third, they are preventing the organization
rom making progress. In that case, your competitors win. Hiding information: Sometimes, people think that i they
keep in ormation hidden rom others, they can enhance theirposition in the organization. And, or a short time, they maybe able to do so.
But, in the long term, hiding in ormation prevents peoplerom collaborating. Remember, although you might be nego-
tiating with a peer about a problem, its in the organizationsbest interests to have all the in ormation out and available.
Incentives prevent teamwork: Ive worked with managerswhose salespeople were paid when an order was booked, notwhen it was shipped. There was no incentive or salespeopleto sell what the development team had already created. In
act, there was tremendous incentive to sell new things that
hadnt been invented yet.
I people cant decidewhich projects are ranked
frst, second, and third,
they are preventing
the organization rom
making progress.
Table 1
8/8/2019 sqe_bettersoftware_0310
41/49
38 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
Rewind Randy and SophieOnce Sophie realized shed ignored Randy, she decided to
make the e ort to collaborate on the project port olio.They picked a mutually convenient time to meet. They
each considered the principles behind their decision making.Luckily, they did have a common goal. They discussed howto make the entire organization success ul with their plannedport olio, and they agreed on when to review the port olioagain.
As Sophie and Randy worked through their plans or thenext quarter, they kept reminding each other about pendingdeliverables and showing each other their progress. When oneo Sophies projects encountered trouble, she explained theproblem to Randy. They were able to make other plans andmanage the problem.
Once they realized the power o collaboration, Sophie andRandy brought in others across the organization, not onlyto manage the project port olio but also to collaborate onproduct roadmaps and do a little strategic planning.
It doesnt matter where you are in the organization; col-
laboration is necessary. I youre a tester, you need to workwith developers and vice versa. I youre a product owner, youneed to work with your users. I youre a manager, you needto work with your teams. The higher the stakes, the more col-laboration will help you. {end}
Youve probably met project managers who had manage-ment by objectives (MBO) that only dealt with the projectsrelease date. Those project managers worked with develop-ment managers whose MBO were about eatures and withtest managers whose MBO were about de ects. They have noincentive to collaborate in this situation. In act, it is not inanyones interest to collaborate. Except or the poor customerwho desperately wants them to collaborate.
Decisions dont stick: Its even worse when a group o people get together, make a decision (or several decisions),and then someone with more positional power changes thatdecision. Who wants to bother collaborating in that situa-tion? Any decision you make is as likely to get thrown outas stick.
The time-space continuum prevents true collaboration:Many o you work in geographically distributed teams. Youknow how hard it is to collaborate on product developmentwhen you are not in the same place. Its even more di fcult
or managers to collaborate on decisions when they are not inthe same place.
One CIO had fve remote teams run by directors: two inthe US, one in the UK, one in Poland, and one in Bangalore.Each director had his own MBO, which was not in concertwith the others, and they never met as a group. Some subseto directors would get together and make a decision; the nextday, when the others met, they made a di erent decision.
The CIO had fnally had enough. I want you olks towork together on this! he mandated. Once he called themeeting, the directors were fnally able to air their concernsand explain why theyd made their original decisions. Collabo-ration cannot occur without interaction among all the playersat one time.
Real Collaboration Can Produce Team Flow
When people collaborate, you can see the team members get into fow. I once worked on a large project where we all
had the same vision o the product; we all worked together, delivering small, working chunks o code into the code base;
we had demos or one another; and we treated one another with respect and had a great time.
We were in team fow. Because we had small, requent deliverables, we could see how each person delivered on a daily
or almost-daily basis. Because we had the same vision, we were able to be consistent in our actions and reactions. Any
time anyone outside the team asked us to cut corners (this is where integrity is key), we had our vision against which to
check our work. And, even though we had plenty o disagreements, we stuck to a principle, rather than to a position. We
delivered a new so tware-hardware combination product in nine monthsa record or the organization.
Watch out or the inadvertent organizational barriers to collaboration. And dont just work togethertry real
collaboration.
For more on the following topic go towww.StickyMinds.com/bettersoftware.n Re erences
8/8/2019 sqe_bettersoftware_0310
42/49
Product Announcements
BambooRMRESTON, VABamboo Solutions has announced that it islaunching BambooRM, a SaaS-based requirements manage-ment program that requires no installation, is easy to use,connects workplaces all over the globe, and is available viamonthly subscription. BambooRM allows project managersand teams to collaborate on projects more easily with one re-pository o project requirements.
BambooRM simpli es requirements management by inte-grating use cases and business and unctional requirements allin one place. Managers, business analysts, consultants, andteam leaders can view, manage, and trace project require-ments online in their browsers, including:
Creating business requirements for any product or ser-vice
De ning and associating sub-level business require-ments
Associating use cases with multiple associated business
requirements Associating functional requirements with each business
requirement Prioritizing business and functional requirements Tracing the project requirements Creating and printing requirements with easy-to-read
summaries
For additional in ormation, visit bamboosolutions.com.
End-to-End Application LifecycleManagement Solution
CINCINNATI, OHSeapine So tware has released its ALMsolution, which streamlines development and QA processes toimprove so tware quality, increase productivity, and lower de-velopment and business costs.
Seapines ALM solution includes TestTrack RM or re-quirements management, TestTrack TCM or test case man-agement, TestTrack Pro or issue and de ect management,Surround SCM or so tware con guration management, andQA Wizard Pro or automated unctional and regressiontesting. TestTrack RM, the newest addition to the SeapineALM product amily, enables development teams to manageall aspects o requirements including planning, traceability,
impact, review processes, measurement, and reporting.Seapines ALM solution includes scalable, eature-rich,team-based tools that can be used separately to manage eachcritical phase o the development li ecycle or seamlessly inte-grated to ensure quality at every stage o development. Thesetools are cross-plat orm and built on fexible architecturesusing open standards to support todays popular developmentmethodologies and industry best practices. Seapines ALMsolution gives todays organizations the collaboration, work-fow automation, reporting, security, and extensibility capa-bilities to streamline communications, improve traceability,and make development and QA teams more productive.
For additional in ormation, visit seapine.com/products.html.
Concerity AnalyticsSALT LAKE CITY, UTConcerity has announced the reebeta launch o Concerity Analytics, a new type o integratedtoolkit designed speci cally to help so tware companies mea-sure real-world usage o their so tware applications.
Designed initially or Windows desktop and ASP.NETso tware products, Concerity Analytics allows independentso tware vendors to gather key data on how their so twareproducts are used in the eld by end userseither in a testenvironment or in production.
Concerity Analytics provides so tware companies and in-house so tware teams with the ability to:
Measure and optimize feature usage Understand beta tester behavior Track, understand, and improve product quality Prioritize product development efforts Track and validate marketing programs (including
conversion strategies or trialware)
Proactively determine where support needs are highestand thus lower support costs
Increase engineering return on investment Outmaneuver the competition through faster, smarter,
and more e ective use o resources
For more in ormation, visit concerity.com.
Coverity 5SAN FRANCISCO, CACoverity, Inc. has unveiled Coverity5, the industrys rst so tware integrity o er that automaticallyscans, prioritizes, and maps the impact o de ects introduced
by so tware changes. This new o er is speci cally designed tohelp development organizations mitigate the business risk o so tware changes across their entire product port olio.
The new Coverity 5 de ect impact mapping capability isthe rst to enable developers to automatically map and iden-ti y how a single de ect impacts multiple code bases, projects,and products across the port olio.
The new Coverity 5 uni ed de ect management inter aceis the rst to enable developers and management to review,prioritize, and triage their C/C++, Java, and C# de ects in asingle workfow, providing a single version o the truth or thestate o integrity across the entire product port olio.
Developer productivity enhancements: New, state-of-the-art code browser provides ad-vanced de ect drill-down capabilities, easy-to-use de-
ect markers, shared views, and in-line expansion intointer-procedural de ect details.
Advanced defect reporting provides an easy way totrack xed de ects, de ect trends, the overall state o in-tegrity across the entire product line, and evidence orde ect remediation or compliance reporting.
Robust scalability enhancements enable more concur-rent users and simultaneous analysis commits.
For more in ormation, visit coverity.com.
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 39
8/8/2019 sqe_bettersoftware_0310
43/49
40 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
Product Announcements
MINGLE 3.0SAN FRANCISCO, CAThe ThoughtWorks Studios teamhas announced that Mingle 3.0 is now available or down-load. The new eatures and enhancements in 3.0 continue toclose the collaboration and program management gap that ex-ists between business stakeholders, project managers, businessanalysts, QA, and development engineers.
Features include: New team collaboration features using Murmurs Powerful program management capabilities Usability and support enhancements in the Macro Edi-
tors that extend reporting eatures Clustering for larger deployments Support for Subversion 1.6.5 Other features to enable users to view and access devel-
opment data in new ways
For more in ormation, visit thoughtworks.com/studios.
ALM SOFTWARELAFAYETTE, CATechExcel, Inc. has announced it is o -
ering so tware developers a ree, ten-user license or DevSuite,its award-winning suite o ALM tools. The new 10-Users FreeProgram gives small development teams an excellent, no-riskopportunity to experience how the companys ully integratedset o enterprise-class tools can help them more e ciently ande ectively manage all phases o application development.
DevSuite is a ully-integrated ALM system consisting o TechExcels popular DevTrack or de ect and project tracking;DevSpec or requirements management; DevPlan or project
planning; and KnowledgeWise, a wiki-based knowledge man-agement system. Available as an integrated client/server andIntranet/Internet solution, DevSuite provides power ul work-fow and process automation, robust searching and reporting,and simple point-and-click customization. It also eatures anintuitive user inter ace, universal ODBC support, advancedemail noti cation, built-in time tracking, extensive customiza-tion options, and presentation-quality reports and graphics.DevSuite also enables so tware development organizations,regardless o size, to manage globally-distributed developmentteams e ciently and e ectively.
Managers interested in participating in the program can
register and download DevSuite to begin their thirty-day eval-uation and receive a ree permanent license or up to ten teammembers.
For additional in ormation, visit techexcel.com/products/devsuite/devsuite.html.
Agile Platform 5.0SAN RAMON, CAOutSystems has released the new AgilePlat orm 5.0. Agile Plat orm integrates the two li ecycles o application development and business process managementwithin a single, power ul environmentenabling the automa-tion o business processes and delivery o fexible Web appli-cations that are built or continuous change.
With this version, OutSystems extends the Agile Plat ormsexisting capabilities or building rich Internet applications byadding a new business process technology layer, enabling ITorganizations to model, integrate, deploy, execute, monitor,and optimize human-to-system processes that are 100 percentin sync with the applications that support them.
The new EPA technology allows simpli ed deployment o process de nitions with innovative support or automatinghuman-to-system interactions. A new TaskBox eature al-lows organizations to streamline the deployment o new andchanged business processes with automatic task noti cation,intelligent workfow support, and process documentation atusers ngertips.
Agile Plat orm 5.0 eatures include: Supporting in- ight validation Copy and paste across a wide range of model objects Improved support for Web service integration Simpli ed support for the delivery of multilingual ap-
plications
For additional in ormation, visit outsystems.com.
Parasoft C++testMONROVIA, CAParaso t Corporation has announced therelease o Paraso t C++test, an integrated solution or auto-mating a broad range o best practices proven to increase so t-ware development team productivity and so tware quality orC and C++. In this new release, Paraso t signi cantly expandsthe scope o C++test with the introduction o integrated run-time memory analysis that is suitable or both enterprise and
embedded development.New capabilities or reducing the risks o C and C++ so t-
ware development: Runtime memory analysis enables teams to automati-
cally identi y serious runtime de ectssuch as memoryleaks, null pointers, uninitialized memory, and bu eroverfowsduring execution.
Parasoft Concerto Task Assistant brings change-basedtesting and automated task management directly to thedevelopers amiliar work environment.
Extended environment and compiler support for ARM,Keil, IAR, Texas Instruments, QNX, AIX, and Eclipse
3.5 enables more developers to use Paraso t C++test asa seamless part o their development process.
To learn more, visit www.parasoft.com/c_cpp_testing.
TestRail 1.0Gurock So tware has announced the immediate availability o its new test management solution TestRail 1.0. TestRail is acomprehensive, Web-based test case management applicationto manage, track, and organize so tware testing e orts.
TestRail provides built-in solutions or managing projects,milestones, and releases, as well as test con gurations and ad-vanced testing scenarios.
8/8/2019 sqe_bettersoftware_0310
44/49
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 41
Product Announcements
Productivity- and team-related eatures such as personalized todo lists, emailnoti cations, and team conversations are a core concept o TestRail and integrateseamlessly with the daily workfow. The built-in reporting unctionality helps teamsget real-time insights into their testing process and progress.
For more in ormation, visit www.gurock.com/testrail/.
LISA 5.0DALLAS, TXiTKO has announced the general availability o its fagship LISAproduct suite version 5.0.
LISA 5.0 eatures include: Powerful and versatile virtual service environments. LISA captures and
models inaccessible or unavailable IT resources into virtual service environ-ments that produce the same dynamic behavior, per ormance, and data asthe real production systems.
Improved end-to-end transparency, automation, and validation. LISAsPath nder provides complete transparency to trace errors to their sourceacross complex architectures spanning multiple application tiers and het-erogeneous technologies.
New Path nder Pro streamlines defect collaboration with no new skills re-quired. LISAs new Path nder Pro builds upon Path nders transparencyand traceability capabilities by enabling ast, streamlined resolution o de-
ects without any new technical skills or processes required or develop-ment and quality assurance teams.
For more in ormation, visit www.itko.com/lisa.
ElectricCommander 3.5
SUNNYVALE, CAElectric Cloud has released ElectricCommander 3.5, a ullycustomizable and extensible version o its tool or automating and managing thebuild-test-deploy process in so tware development. Electric Cloud also announced
signi cant upgrades to ElectricAccelerator ( www.electric-cloud.com/news/2010-0216a.php).The customizability o ElectricCommander 3.5 simpli es so tware productionmanagement and removes the need or developers to learn and manage multipletools.
ElectricCommander automates and manages the error-prone, manual pieces o the build-test-deploy process, making so tware production aster and more e -cient. ElectricCommander 3.5, available immediately, integrates seamlessly into adevelopment teams current environment with ully customizable user inter aces,including dashboards and orms. Version 3.5 also provides the tools to create andshare custom plug-ins or smoother integration with application li ecycle manage-ment tools, homegrown tools, custom workfows, etc.
For more in ormation, visit www.electric-cloud.com.
Have news youd like to share?
Send your new product announcement to
8/8/2019 sqe_bettersoftware_0310
45/49
42 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
by Claire Lohr
How can I ensure myrequirements are fully testable?
There is not just one answer to this question. Testability, like beauty, is in the eye o the beholder.It all comes down to success ul communication between the requirements initiator and the tester.
There is not one universal answer, because every pair o requirements initiator and tester is di er-
ent. The challenges acing testers can range rom very high integrity systems such as NASA on one
end, down to minimal-documentation agile projects at the other end, and everything in between. All
address the testability issue with di erent solutions.
NASA has answered this question by developing the Automated Requirements Measurement Tool
(satc.gsfc.nasa.gov/tools/download/). Traditional requirements documentation can be developed ollowing
the Std 830 IEEE Recommended Practice or So tware Requirements Specifcations . Use cases can bedeveloped using internal or UML standards. The agile community starts with user stories (described
by the Agile Mani esto). While these are the most popular requirements documentation techniques,
there are many more. Each type o requirements standard enhances the testability o the system by
providing the tester with more complete and correct in ormationthe standards are developed by
consensus and contain a compendium o use ul in ormation rom many experienced practitioners.
The ollowing techniques can acilitate the testing process within any documentation or tool ormat:
Include quanti cation in each requirementuse actual numbers or the words an
none. Avoid vague terms such as user riendly.
Include visual representationsmany humans are visual learners; they understand pic
better than words. Techniques such as the decision table, state transition diagrams, and the
model in use cases all provide visual representations.
Expect to develop requirements iteratively. Do the iteration then have the peer review-
throughs or inspections) and expect updates throughout development.
Collect metrics to show the rewards of early requirements correction and the cost of-
ing the requirements defnition phase o the li ecycle.
Build a team with a variety of skills (e.g., testing methodology, business analysis, to
and keep team member morale as high as possible.
Have online examples with blank templates and good examples from real projectsteam members to use as models.
Use more than one technique.
Get both your testers and business analysts certi ed, as the pre-exam preparation wi
the most important requirements and testing techniques and issues.
Cra ting testable requirements is part art and part science. There are a lot o help ul tools and tech-
niques available to guide your requirement creation, helping to ensure a high level o clarity and
testability.
8/8/2019 sqe_bettersoftware_0310
46/49
www.StickyMinds.com MARCH/APRIL 2010 BETTER SOFTWARE 43
Career Development
is one place that its actually necessary or you to expound onthe great work youve done. I you managed a project thatcame in $2 million under budget as a result o your leader-ship, say so. In Michaels experience, identi ying tangible re-sults, such as reduced de ects by 10 percent, or otherwisedefning accomplishments that provided an organization timeor cost savings is a good way to make a positive impact on thehiring manager.
Michael also has an eye or detail.Rather than just saying implementeddriver code in C, he says, I am moreinterested in a candidate that tells a bitmore o the story, such as implementedIEEE-1394 driver in C, and partici-pated in unit test and integration o thedriver with the product lineup.
Proofread before you send: Typos andmistakes arent necessarily a deal breaker,
but they can a ect your chances o landing the job you want.Too many grammatical errors or sloppy mistakes will likely
cause the rsum to head toward the discard pile, Michael says.While I wont discard a rsum automatically because o oneor two errors, i it appears that the rsum was not read throughprior to submitting, then it likely would be discarded.
While a ew mistakes may not disquali y you or somepositions, a typo-riddled rsum can a ect the perception o your ability to per orm well in certain jobs. For example, atester who hasnt taken the time to run spell check is not likelyto be the top contender or a QA position, as the hiring groupmay eel that quality is not her highest priority.
Keep it short and sweet: There are a lot o people lookingor jobs these days and not a lot o companies that are hiring.
So, when a position does open the manager is going to beswamped with rsums. The volume o applicants normallyprecludes a manager rom spending more than a ew secondsscanning your rsum or applicable skills. I those skills arenot highly visible, your rsum likely is headed to the trash.
In the age o word processors, it is airly easy or a can-didate to present a tailored rsum or a job description thatshould emphasize their most relevant skills and experiences
or that position, Michael says. To me, it eels like a lack o e ort to receive a nine-plus-page rsum with lots o genericexperience or a specifc job position.
The reality o a job search is that candidates should maketheir relevant experience jump out at the reviewers, and notexpect the reviewer to scrutinize a long rsum to extract de-
Even i you werent one o the millions o people aced withlayo s this past year, its always a good idea to keep yourrsum up to date. You never know when opportunity maycome knocking or youll fnd yoursel unexpectedly ex-ploring a di erent avenue.
Your rsum can make or break you as a candidate or ajob. So, its wise to make the time to put together thorough,organized documentation o your skills, accomplishments,
and experiences.A rsum is a marketing tool, but its
important to remember that its not allabout you. Its an opportunity to showa potential employer that you are theone person who has the skills needed tofll the open position and add value toher organization.
Two important things you can doto increase your odds o landing aninterview are: make sure your rsum explicitly defnes yourexperience, be it as a tester, developer, manager, or business
analyst; and tailor your rsum specifcally to the job youseek. Potential employers want to know at a glance that youhave the skills needed to do the job. I a hiring manager hasto wade through ten pages o unrelated work history to fndout whether you have Java experience, chances are good yourrsum will end up in the trash.
Five Tips for Attention-grabbing RsumsSo, what can you do to escape the dreaded shredder and
get some ace time with the hiring team? These fve things canhelp you set your rsum apart.
Tell them what they need to know: The most e ective r-
sums ocus on a specifc job title and address succinctly theemployers stated job requirements. Michael Kahn, a so twarepro essional with nearly twenty years o experience and au-thor o The Software Hiring Handbook: The Software Devel-opers Guide to Conducting a Job Interview , says he likes tosee evidence o an applicants experience level with a certainskillrather than a vague buzzwordexplicitly addressedin a rsum. I I need someone to maintain and develop anXML parser, then having a statement on a rsum such as in-ter aced with an XML parsing engine or worked with con-fgurations stored in XML ormat is more meaning ul thanmerely listing XML in a laundry list o keywords o skills.
Highlight your accomplishments: Many people are un-com ortable patting themselves on the back. But, your rsum
The Unshreddable RsumThese days, competition is sti or the ew job openings available. These fve
tips can help keep your rsum out o the trash and get your oot in the door.by Heather Shanholtzer | [email protected]
A rsum is a marketing
tool, but its important to
remember that its not all
about you.
8/8/2019 sqe_bettersoftware_0310
47/49
44 BETTER SOFTWARE MARCH/APRIL 2010 www.StickyMinds.com
Career Development
tails that are buried on page our or beyond.Show you play well with others: With more organizations
adopting agile methodologies and the increase in globally dis-tributed teams, it has never been more important or you todemonstrate your ability to work closely with others. Whenreviewing your rsum, a hiring manager will be looking orevidence that you are a team player. In todays workplace,Michael says, a majority o so tware positions require teamskills, so any statements that indicate team involvement (e.g.,leading a team or inter acing with multi-discipline teams suchas hardware, QA, etc.) are generally viewed as positive.
Tailor Your Rsum to Your Job FunctionIn addition to the ideas discussed above, what specifc
in ormation should a tester, developer, manager, or businessanalyst include on her rsum that will show a hiring man-ager that this applicant is the right choice or the position?
Johanna Rothman, an accomplished management consul-
tant and author o several books, including Hiring the Best Knowledge Workers, Techies & Nerds , suggests an applicantconsider the ollowing questions when preparing her rsum.Answering these questions will help the hiring team determineyour potential value to the organization.
Testers: What new or innovative approaches have you used
that helped the test e ort discover more in ormation?Developers: How have you made changes that ft the
product? How do you know a design is good?Software Managers: How did you beneft your previous
organization? How did you help people do their best?Business Analysts: What problems did your work solve?
Further Steps to SuccessWhether you are recently laid o or you hope to land a
great new job when the economy turns around, a well-writtenrsum is going to be a huge actor in whether you get aninterview, but its not the only tool you need. Michael has acouple o suggestions or increasing your chances or a suc-cess ul job search. First, he says, nurture and maintainyour pro essional network. In this industry, as with others,many people know each other, and your network can helpyou fnd job openings be ore they are posted.
Michael also recommends staying abreast o new technology
while you are looking or work. With the advent o the Internet,and an open source project or just about anything, he says, itshould be possible to devote a little time to most any area o so tware and learn more about it. Learning a new scripting lan-guage is usually a good place to begin. For an out-o -work jobseeker, this independent study is time well spent. {end}
Better Software (USPS: 019-578, ISSN:1553-1929) is published six times per yearJanuary/February, March/April, May/June,July/August, September/October, November/December. Subscription rate is US $40.00 peryear. A US $35 shipping charge is incurred or allnon-US addresses. Payments to So tware Qual-ity Engineering must be made in US unds drawn
rom a US bank. For more in ormation, contactin o@betterso tware.com or call 800.450.7854.Back issues may be purchased or $15 per is-sue (plus shipping). Volume discounts available.
Entire contents 2010 by So tware QualityEngineering (330 Corporate Way, Suite 300, Or-ange Park, FL 32073), unless otherwise noted onspecifc articles. The opinions expressed within the articles and contents herein do not neces-sarily express those o the publisher (So twareQuality Engineering). All rights reserved. Nomaterial in this publication may be reproducedin any orm without permission. Reprints oindividual articles available. Call or details.Periodicals Postage paid in Orange Park, FL,and other mailing o fces. POSTMASTER: Sendaddress changes to Better So tware, 330 Cor-porate Way, Suite 300, Orange Park, FL 32073,in o@betterso tware.com.
Display [email protected]
All Other [email protected]
ADP West 2010 www.sqe.com/adpwest 24
AutomatedQA www.automatedqa.com 19
Avnet www.avnet.com 31
Better Software Conference www.sqe.com/BSC 12
Better Software magazine www.bettersoftware.com 23
BugHost www.BugHost.com 41
Codenomicon www.codenomicon.com 22
Hewlett-Packard www.hp.com/go/agile Back Cover
McCabe www.mccabe.com 15
Microsoft www.microsoft.com Inside Front Cover
PureCM www.purecm.com 18
Rally Software www.rallydev.com/bsm Inside Back Cover
Ranorex www.ranorex.com 9
Seapine www.seapine.com 1
SQE TrainingeLearning www.sqetraining.com/eLearning 16
SQE TrainingLive Virtual www.sqetraining.com/VirtualTraining 6
STARWEST 2010 www.sqe.com/STARWEST 35
TechExcel www.techexcel.com 2
ThoughtWorks www.thoughtworks.com 5
Web Performance www.webperformanceinc.com 10
index to advertisers
8/8/2019 sqe_bettersoftware_0310
48/49
Our business is dependent on tight turnaround times. Rally makes it easy
to juggle scope, hours and resources, so we can share up-to-the-minute
project information with all of our stakeholders . Everyone can see
priorities, status and roadblocks to save time and money.
www.rallydev.com | 1.866.348.1552 | [email protected]
SCALING SOFTWARE AGILITY 2010 Rally Software Development Corp
See how development organizations like Erik's are deliveringsoftware the Agile way: www.rallydev.com/videos/
We need to make sure thatour company's most important