Part two: Testing Fundamentals
Chapter 4: Examining the Specification
1.Can a software tester perform white-box testing on a specification?
A1: Yes.White-box testing is simply using information about how
something is designed to influence how the testing is done. The tester
could attend the project's focus groups,usability studies,and marketing
meetings to understand the underlying process being used to design the
features and the overall product. With that information she could more
effectively test the resulting specification. There is a
risk,though,that this information could bias the tester into assuming
that the spec is correct
2:Cite a few examples of Mac or Windows standards or guidelines.
A2:On the Mac,deleted files go to the Trash Can.In Windows,they go to
the Recycle Bin.
In Windows,pressing F1 always displays Help for the software. It's
Command -? on the Mac.
The File menu is always the far-left menu choice in Windows.
3:Explain what's wrong with this specification statement:When the user
selects the Compact Memory option,the program will compress the mailing
list data as small as possible using a Huffman-sparse-matrix approach.
A3:It uses the phrase as small as possible. This is impossible to test
because it's vague and imprecise.The spec should state exactly what
level of compression will take place.
The statement also isn't code-free. It explains how the feature will
work on the algorithm level.This doesn't belong in a specification. The
user doesn't care how the compaction occurs,just that it does.
4:Explain what a tester should worry about with this line form a
spec:The software will allow up to 100 million simultaneous
connections,although no more 1 million will normally be used.
A4:Testability.It doesn't matter that typical usage is only 1 million
connections. If the spec states that 100 million are possible,the 100
million must be tested. The tester needs to find a way to test
something this large or get the spec writer to reduce the maxinmum
possible number to something closer to what's typical.
Chapter 5 Testing the Software with Blinders on
1:You can perform dynamic black-box testing without a product spec or
requirements document.
A1:Ture. The technique is called exploratory testing,and you
essentially use the software as though it's the product spec.It's not
an ideal process,but can work okay in a pinch.The largest risk is that
you won't know if a feature is missing.
2.If you're testing a program's ability to print a printer,what generic
test-to-fail test cases might be appropriate?
A2:You could attempt to print with no paper and with jammed paper.You
could take the printer offline.You could unplug its power.You could
disconnect its cable.You could try printing with low ink or
toner,maybe even with missing catridge.To identify all the
possibilities,you could look in the printer's operater's manual and
see what errors it supports and attempt to create all of them.
3:Start up Windows WordPad and select Print from the File menu.You'll
get the dialog shown in Figure 5.12. What boundary conditions exist for
the Print Range feature shown in the lower-left corner?
A3:If you select the Pages option,the from and To fields are enabled.
The obvious boundary conditions would be 0 and 99999,the smallest and
largest values that the fields will hold. It would be wise to also test
internal boundary conditions such as 254,255,256 and
1023,1024,1025.There's also another internal boundary condition.Try
asking it to print pages1 though 8 of a 6-page document.Notice that in
this case,the software has to stop printing at page 6 bacause it's out
of data,not because it was told to stop at this page.It's adifferent,
internal boundary.See if you can think of more.
5:Ture of False:Visiting all the states that a program has assures that
you've also traversed all the transitions among them.
A5:False.Think of visiting 50 different cities spread out across the
entire United States You could plan a trip that would take you to each
city,but it would be impossible for you to travel all the roads that
connect to all the cities that would be all the roads in the entire
country.
6:There are many different ways to draw state transition diagrams,but
there are three things that they all show.What are they?
A6:Each unique state that the software can be in.
The input or conditions that make it move from one state to the
next.
Conditions,variables,or output that's produced when a state is
entered or exited.
7:What are some of the initial state variables for the Windows
Calculator?
A7:The initial displayed value and the internal partial result are set
to 0.The memory register(MC,MR,MS,and M+ buttons) is set to 0.The
clipboard contents is left unchanged.
Another initial state varialbe is where the Calculator appears onscreen
when it's started.Open up several copies of the Caculator and notice
that the location isn't alwalys the same.As an exercise in exploratory
testing,see if you can figure what the rules are for where the
Calculator opens.
8:What actions do you perform on software when attemping to expose race
conditon bugs?
A8:You try doing multiple things at the same time.They could be
ralated,like printing to two printers at the same time from the same
application.Or,they could be unrelated,like pressing keys while a
computation is taking place.What you want to do is force a situation
where the software is competing(racing) with itself to perform some
function.
9:Ture or False:It's an unfair test to perform stress testing at the
same time you perform load testing.
A9:False.No test is ever unfair.Your job is to find bugs.But, the
realities of software testing may apply and any bugs you find in this
situation may not be fixed.
聯(lián)系客服