PureTesting offers end-to-end testing solutions. Our offerings include—Test Consulting, Testing Services, Test Trainings, and SDLC Products. PureTesting is recognized as a Testing Thought Leader—Our people work on Innovative concepts, write white papers, and present concepts at international forums.
PureTesting’s unique value proposition of offering better, faster, less expensive testing solutions is compelling to our clients in India, Europe, New Zealand, and US who regard us as a long-term testing partner. The domains in which PureTesting has expertise are: Banking & Financial Services, Datacom and Telecom, Pharmaceuticals, Embedded Systems, eLearning, EAI, ISVs.
PureTesting was incorporated in 2005 and is headquartered in NOIDA (near Delhi), India with offices in Texas, USA; London, UK; and Auckland, New Zealand.
The author, Vipul Kochar is a co-founder of PureTesting. Hel has over 12 years of testing experience and is also the founder of www.whatistesting.com, a popular testing portal.
Prior to PureTesting Vipul worked at Adobe Systems India Pvt. Ltd. where he managed the testing of Adobe Reader (formerly known as Adobe Acrobat Reader) on Linux, Solaris, AIX and HP-UX and Handheld platforms. Vipul has won several awards including Logica CMG Triple Star Award for most original contribution at EuroStar 2005, Denmark. Vipul is a regular speaker at QAI International Conference, CONQUEST, World Conference on Quality etc. He is also the President of Indian Testing Board, member of ISTQB. Vipul holds a MS in Computer Engineering from IIT, Delhi.
Contact Information:
A-108B, Sector 58, NOIDA (UP) 201 301
India
Tel: +91 (120) 4324426, 4324427, 4311262
Fax: +91 (120) 4316115
Email: info@puretesting.com sales@puretesting.com
What Are We Going to Talk About?
Noun and Verb Technique
***Nouns and Verbs, Adjectives and Adverbs
• Some software systems exist to manipulate specific kinds of data
• The kinds of data sets are the nouns
• The manipulations are the verbs
• Adjectives and adverbs affect the manipulation
• Identify these items
• Write test in sentences
• Even trace coverage
• For example, an ATM system should
• Accept deposits
• Process withdrawals
• Answer inquiries
• Kinds of deposits, withdrawals, inquiries?
• Quickly? Securely?
This test design technique comes from Elisabeth Hendrickson.
***Rex Black: Effective and Efficient Testing Course
Extending Noun and Verb Technique
• Challenges in using the technique
• Often Requirements are not sufficiently detailed
• Extracting enough Noun and Verbs is difficult
• Writing complex scenario based tests from this technique is difficult
• The technique has been extended at PureTesting and used successfully
• Next few slides will present the extension with the help of an example…
Extension
• Extract the nouns and verbs
• Use 5W1H to extract adjectives, adverbs and more information
• Use pre and post conditions to extract more nouns and verbs
• Enumerate properties of every noun
• Break down these properties to base elements
• Use boundary values, equivalence classes on the base elements
• Write tests for individual properties
• Combine operations (verbs) to write scenario based test cases of arbitrary complexity
Applying the Extended Technique
Example: File Open
• Requirement fragment:
• The application allows users to open supported files.
• With the given requirement fragment
• Very few meaningful test cases can be written using any test design technique
• Using out extension to noun & verb technique we plan to write extensive test cases
Extracting the Nouns and Verbs
• The application allows users to open supported files
• Extracting Nouns
• Extracting Verbs
• Extracting Adjectives and Adverbs
File open…
• Noun
• Look for properties of this noun
• Also ask What, Why, When, Where, Who, Which, How,
How much/many
• Verb
• Look for properties of this verb
• Also ask What, Why, When, Where, Who, Which, How,
How much/many
File: Properties
• Enumerate all the properties of FILE
• File has
• Name
• Size
• Location
• Extension
• Metadata
• Creation date
• Accessing date
• Modification date
• State
File: Properties
• Type
• Access Control
• Password protection
• Attributes
• Compression Support
• Encryption Support
• Creating application version
Breaking Down the Properties: Name
• Name -is a string
• String -is a SEQUENCE of Characters
• Sequence = Length of string
• Characters are elements of some valid character set
• (THUS) Name
• Has a length
• Has a set of allowed characters
• And some characters are not allowed (/ or in file name on windows, spaces on Linux/Unix platforms)
Applying Boundary Values
• Name/String
• Has a length (maximum and minimum)
• Has a set of allowed characters (valid equivalence class)
• And some characters are not allowed (invalid equivalence class)
Properties: Location
• Location
• Is a string
• Has a length (maximum and minimum)
• Has a set of allowed characters (valid equivalence class)
• And some characters are not allowed (invalid equivalence class)
• Also denotes physical location
• On a locally connected drive (HDD, CD, Floppy…)
• On the LAN
• Using UNC path
• Other operating systems (e.g. Linux connected using samba)
• On a web page as a link
Properties: State
• State
• in use/not in use
• Saved/unsaved
• In use/open
• Unmodified
• Modified
• New
• New/Modified
• Without data
• With data
Properties: Type
• Type:
• Supported/not supported by the application
• Binary or Text
• Valid/invalid (corrupt)
Properties: Extension
• With extension
• Without extension
• Correct extension
• Incorrect extension
Properties: Attributes
• Read only
• Writable
• Archive
• Hidden
Dealing with the Verb(s)
• Applying 5W1H
• Open What?
• File with various properties
• Supported and unsupported files
• Open Where?
• Supported Operating Systems
• Application under test
• Browser plug-ins, if supported
Dealing with the Verb(s)…
• Open how?
• Open in various ways
• double click
• drag and drop
• command line
• application menu
• open with
• Open how many?
• Open one (minimum number of) file
• Many files
• Max. number of files that can be opened simultaneously…
• How fast
• How much time does it take to open the file?
Some Simple Positive Test Cases
• Open a (supported) file
• Minimum size
• Maximum size
• Minimum name length
• Maximum name length
• Located on a network drive/web
• With and without appropriate extension
• Created using older/newer version of creating application
• Password protected
• Read-only
Some Simple Negative Tests
• Open file(s) of
• Unsupported type
• Changed extensions
• Corrupt file
• Invalid/non-existent name
Scenario Based Tests
• Open a new file. Open another existing but closed file.
• Open an already open file.
• Open an existing file. Modify it. Open the same file again.
• Open an existing file. Modify it. Open another file.
• Open a local file. Open another file on the web.
• Open multiple files together. Check performance
• Open a very large file on the network. Check performance.
• Repeat the Open operation a number of times (repetitive tests for resource leaks…)
Expanding the requirement
• What (after file open)?
• File is opened
• Where
• in the application window
• What are properties of application window?
• Location on the screen
• Size of the window
• State of GUI elements such as menus/buttons (enabling/disabling etc.)
• What are the properties of OPEN FILE?
• Cursor location
• Zoom level
Writing more Tests
• What is the position of application once file is opened
• What is the cursor position after opening the file
• At what zoom level does the file open?
Summary
• Using the extended N&V technique testers can
• Write effective set of test cases
• Reduce the impact of bad/missing requirements
• Raise important questions about software behavior
• Bring more uniformity in the coverage even when different testers write tests cases
Exercise
• Use Noun and Verb technique to create test cases for the following requirement excerpt
A word processing software has “Find” feature. User can invoke the find dialog to enter the string to be found. Find is case insensitive and circular. Find button is used repetitively to find the next occurrence.
Note…
• Focus on test cases for Find feature.
• After finding the test cases using noun and verb technique elaborate the requirements by speaking out the actions.
• Create more test cases using pre and post conditions.
|