Testing and Documenting Solutions Flashcards
What should documentation at each stage of testing include?
Outline of any testing done
Results
Any errors found
Details on how the errors were corrected
What is an advantage of component testing?
If combining the subroutines, if mistakes are in some subroutines, errors may interact with each other to give unpredictable results
What is a stub?
Dummy function/procedure used in place of one still to be written
When are stubs used?
When there needs to be some code present to indicate a subprogram is being called
What are drivers?
Piece of code designed to test a function/procedure which has been written but the rest of the code has not
Is this a driver or a stub?
PROCEDURE sort(numbers)
print(“Sorting Numbers”)
END PROCEDURE
Stub
What is integration testing?
A stage of testing where modules are tested together as part of a unit, form of alpha testing, carried out by member of development team
What should an integration test plan identify?
Original Software Specification
Test documentation from component testing stage
List of test data to be used
Conditions that must be in place before testing starts
What constitutes a successful test
What are the advantages of integration testing?
Tests how modules work together Tests features impossible to test at module level
What type of testing is integration testing?
Alpha testing
What should the flow of data be tested for in integration testing?
Data Integrity
What is acceptance testing?
Testing done by client or potential customers
What is the end result of acceptance testing?
Client accepts the delivery of software and checks it is fit for purpose
What are the benefits of acceptance testing?
- No unintentional bias
- No assumptions of novice understanding
- Can spot for un-noticed errors
Who do commercial companies release beta versions to?
Computer Journalists
Current Users of previous versions
What do the users get for testing beta versions?
Reduced cost of software
Earlier versions of software
What is an advantage of releasing beta versions to selected members of the public?
Gain valuable information on bugs and can fix them before final release
What is usability testing?
Type of testing designed to ensure software is as easy to use as possible
What are the 6 criteria for usability testing?
Appropriate Customisable Accessible Contrallable Helpful Consistent
How does a developer make a product appropriate?
Design it with the user in mind
What is Skeuomorphism?
Interfaces trying to mimic physical counterparts
Give an example of skeuomorphism
Trash can for deleting files
How can an interface be customisable?
If it can be changed to suit needs of user
Give an example of how an interface be customisable?
Shortcut keys
Frequently used screens
Regional differences
What makes an interface controllable?
If it has the option of undoing critical operations
What makes an interface helpful?
If it provides help on request
Documentation should be comprehensive and avaliable on request
How can an interface be consistent?
If menus are grouped together logically
Describe how pausing
the execution of the code can be used to find
errors
- Can inspect contents of variables to check if they contain expected values
- Can localize the area where the code stops working/responding
Explain the relevance of component testing in a situation where a sort is being coded and then integrated into a large program and describe how it could be carried out
Can be used to make sure that it works correctly being it is integrated within the larger application
Should write use a stub or driver to activate the subprogram and pass parameter values to it.
A set of test data should be created and expected output should be calculated