Session – 1
Session Name: Software Testing Principles and Techniques
Author Name: R.Suresh Department: Information Technology Subject/Course: Software Testing Cell Number: +91 - 9655228850
Software Testing Principles & Techniques Page 2 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Session Objectives At the end of this session, the learner will be able to: ● Define Testing ● Identify the Purpose of Testing ● Summarize the Limitations of Testing ● Breakdown the various advantages of Testing ● Define Various types of UI Testing ● Setup the Testing Environment ● Differentiate between white box and Black Box Testing ● Differentiate between Development and Testing Environment ● Breakdown the various advantages of Unit-Testing ● Define Integrated Testing ● Breakdown the various advantages of System Testing ● Define Acceptance Testing ● Summarize the Limitations of SQM ● Define SQA ● Identify the Steps involved to create Build File ● Investigate Various Testing tools available in the Market ● Define Defect Testing ● Define System Testing ● Differentiate between Unit Testing and Acceptance Testing ● Define Bug ● Differentiate between Defect and Bug ● Differentiate between Defect and Error ● Summarize the Various mechanism for Posting the Defect ● Breakdown the various steps involved to post the Defect ● Summarize the Various responsibilities for Testers ● Define Testing Automation ● Differentiate between Silk and Fitness Automation ● Summarize the Various duties of Maintenance Engineer ● Define Software Requirement Specification
Software Testing Principles & Techniques Page 3 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Teaching Learning Material ● Demonstration ● Slide Presentation ● Data Sheets ● Testing Software – Bugzilla, Test Track Pro
<<Dear Professor, we really appreciate you for the time that you have spent in documenting your pedagogic innovations. As per the telephonic talk that you had with my colleague Padma, I’m sending this document. Please consolidate all the four different session plans in this assignment to one single session plan and do send it across to me. After reviewing that session plan I’ll be able to suggest you further regarding the session input segment>>
Software Testing Principles & Techniques Page 4 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Session Plan
Time (in min)
Content Learning Aid
and Methodology
Faculty Approach
Typical Student Activity
Learning Outcomes (Blooms + Gardeners)
5 Recap: Role for Project Manager Discussion Explains Listens
Comprehension Intrapersonal
5
Arrange Team Meetings
Role Play Guides Discuss
Knowledge Comprehension Application Analysis Synthesis Evaluation
10
team members understand their roles
Short Seminar Guides Discussion
Knowledge Comprehension Application Analysis Synthesis Evaluation
10
Manages project timeline and resources
Charts Evaluates Participates
Comprehension Application Analysis Synthesis Evaluation
15
Communicates well with customer. Discussion Directs Solves
Knowledge Comprehension
10 Conclusion Recap Explains Listens
Comprehension Intrapersonal
Software Testing Principles & Techniques Page 5 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Time (in min)
Content Learning Aid
and Methodology
Faculty Approach
Typical Student Activity
Learning Outcomes (Blooms + Gardeners)
5 Recap: Role for Designer Discussion Explains Listens
Comprehension Intrapersonal
5
Develops effective requirements analysis of problem domain for customer.
Prototype Models
Guides Discuss
Knowledge Comprehension Application Analysis Synthesis Evaluation
10
Develops clear system specification and design documents for programmers.
Short Seminars Guides Discussion
Knowledge Comprehension Application Analysis Synthesis Evaluation
10
Develops clear test plan.
Data Sheets Evaluates Participates
Comprehension Application Analysis Synthesis Evaluation
10
Cooperates and works well with other analysts and programmers.
Discussion Directs Solves Knowledge Comprehension
5 Conclusion Recap Explains Listens
Comprehension Intrapersonal
Time (in min) Content
Learning Aid and
Methodology
Faculty Approach
Typical Student Activity
Learning Outcomes
Software Testing Principles & Techniques Page 6 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
(Blooms + Gardeners)
5 Recap: Role for Programmer Discussion Explains Listens
Comprehension Intrapersonal
5
Communicates well with analyst/designer.
Prototype Models
Guides Discuss
Knowledge Comprehension Application Analysis Synthesis Evaluation
10
Develops effective code.
Short Seminars Guides Discussion
Knowledge Comprehension Application Analysis Synthesis Evaluation
10
Contributes code and documentation timely and well.
Data Sheets Evaluates Participates
Comprehension Application Analysis Synthesis Evaluation
10 Conclusion Recap Explains Listens
Comprehension Intrapersonal
Time (in min)
Content Learning Aid
and Methodology
Faculty Approach
Typical Student Activity
Learning Outcomes (Blooms + Gardeners)
5 Recap: Role for Tester Discussion Explains Listens
Comprehension Intrapersonal
5
Testers to create Test Cases
Data Sheets Guides Discuss
Knowledge Comprehension Application Analysis Synthesis Evaluation
Software Testing Principles & Techniques Page 7 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
10
Based on the Test cases go for Testing the Products
Brain Storming Guides Discussion
Knowledge Comprehension Application Analysis Synthesis Evaluation
10
Raise the Defect based on the Test Cases and Post the defect in the Automated Tools.
Data Sheets Evaluates Participates
Comprehension Application Analysis Synthesis Evaluation
10 Conclusion Recap Explains Listens
Comprehension Intrapersonal
Session Inputs
Testing – Various types of Testing
The learners may have understand the Testing. Testing is an activity performed for evaluating product quality, and for improving it, by identifying defects and problems.
Software Testing Principles & Techniques Page 8 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Software testing consists of the dynamic verification of the behavior of a program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the expected behavior.
Initial Functional Test Cases for Example ATM System
The following initial test cases can be identified early in the design process as a vehicle for checking that the implementation is basically correct. No attempt has been made at this point to do thorough testing, including all possible errors and boundary cases. That needs to come later. These cases represent an initial check that the functionality specified by the use cases is present.
Somewriters would argue for developing test cases like these in place of use cases. Here, they are presented as a vehicle for "fleshing out" the use cases, not as a substitute for them.
Use Case Function Being Tested
Initial System State
Input Expected Output
System Startup
System is started when the switch is turned "on"
System is off Activate the "on" switch
System requests initial cash amount
System Startup
System accepts initial cash amount
System is requesting cash amount
Enter a legitimate amount
System is on
System Startup
Connection to the bank is established
System has just been turned on
Perform a legitimate inquiry transaction
System output should demonstrate that a connection has been established to the Bank
Software Testing Principles & Techniques Page 9 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
System Shutdown
System is shut down when the switch is turned "off"
System is on and not servicing a customer
Activate the "off" switch
System is off
System Shutdown
Connection to the Bank is terminated when the system is shut down
System has just been shut down
Verify from the bank side that a connection to the ATM no longer exists
Session System reads a customer's ATM card
System is on and not servicing a customer
Insert a readable card
Card is accepted; System asks for entry of PIN
Session System rejects an unreadable card
System is on and not servicing a customer
Insert an unreadable card
Card is ejected; System displays an error screen; System is ready to start a new session
Session System accepts customer's PIN
System is asking for entry of PIN
Enter a PIN
System displays a menu of transaction types
Session
System allows customer to perform a transaction
System is displaying menu of transaction types
Perform a transaction
System asks whether customer wants another transaction
Session
System allows multiple transactions in one session
System is asking whether customer wants
Answer yes
System displays a menu of transaction types
Software Testing Principles & Techniques Page 10 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
another transaction
Session
Session ends when customer chooses not to do another transaction
System is asking whether customer wants another transaction
Answer no
System ejects card and is ready to start a new session
Transaction
Individual types of transaction will be tested below
Transaction
System handles an invalid PIN properly
A readable card has been entered
Enter an incorrect PIN and then attempt a transaction
The Invalid PIN Extension is performed
Withdrawal
System asks customer to choose an account to withdraw from
Menu of transaction types is being displayed
Choose Withdrawal transaction
System displays a menu of account types
Withdrawal
System asks customer to choose a dollar amount to withdraw
Menu of account types is being displayed
Choose checking account
System displays a menu of possible withdrawal amounts
Withdrawal
System performs a legitimate withdrawal transaction properly
System is displaying the menu of withdrawal amounts
Choose an amount that the system currently has and which is not greater than the account balance
System dispenses this amount of cash; System prints a correct receipt showing amount and
Software Testing Principles & Techniques Page 11 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
correct updated balance; System records transaction correctly in the log (showing both message to the bank and approval back)
Withdrawal
System verifies that it has sufficient cash on hand to fulfill the request
System has been started up with less than the maximum withdrawal amount in cash on hand; System is requesting a withdrawal amount
Choose an amount greater than what the system currently has
System displays an appropriate message and asks customer to choose a different amount
Withdrawal
System verifies that customer's balance is sufficient to fulfill the request
System is requesting a withdrawal amount
Choose an amount that the system currently has but which is greater than the account balance
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Software Testing Principles & Techniques Page 12 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Withdrawal
A withdrawal transaction can be cancelled by the customer any time prior to choosing the dollar amount
System is displaying menu of account types
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Withdrawal
A withdrawal transaction can be cancelled by the customer any time prior to choosing the dollar amount
System is displaying menu of dollar amounts
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Deposit
System asks customer to choose an account to deposit to
Menu of transaction types is being displayed
Choose Deposit transaction
System displays a menu of account types
Deposit
System asks customer to enter a dollar amount to deposit
Menu of account types is being displayed
Choose checking account
System displays a request for the customer to type a dollar amount
Deposit
System asks customer to insert an envelope
System is displaying a request for the customer to
Enter a legitimate dollar amount
System requests that customer insert an envelope
Software Testing Principles & Techniques Page 13 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
type a dollar amount
Deposit
System performs a legitimate deposit transaction properly
System is requesting that customer insert an envelope
Insert an envelope
System accepts envelope; System prints a correct receipt showing amount and correct updated balance; System records transaction correctly in the log (showing message to the bank, approval back, and acceptance of the envelope)
Deposit
A deposit transaction can be cancelled by the customer any time prior to inserting an envelope
System is displaying menu of account types
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Deposit A deposit transaction
System is requesting
Press "Cancel" key
System displays an
Software Testing Principles & Techniques Page 14 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
can be cancelled by the customer any time prior to inserting an envelope
customer to enter a dollar amount
appropriate message and offers customer the option of choosing to do another transaction or not.
Deposit
A deposit transaction can be cancelled by the customer any time prior to inserting an envelope
System is requesting customer to insert an envelope
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Deposit
A deposit transaction is cancelled automatically if an envelope is not inserted within a reasonable time
System is requesting customer to insert an envelope
Wait for the request to time out
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Transfer
System asks customer to choose an account to transfer from
Menu of transaction types is being displayed
Choose Transfer transaction
System displays a menu of account types specifying transfer from
Software Testing Principles & Techniques Page 15 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Transfer
System asks customer to choose an account to transfer to
Menu of account types to transfer from is being displayed
Choose checking account
System displays a menu of account types specifying transfer to
Transfer
System asks customer to enter a dollar amount to transfer
Menu of account types to transfer to is being displayed
Choose savings account
System displays a request for the customer to type a dollar amount
Transfer
System performs a legitimate transfer transaction properly
System is displaying a request for the customer to type a dollar amount
Enter a legitimate dollar amount
System prints a correct receipt showing amount and correct updated balance; System records transaction correctly in the log (showing both message to the bank and approval back)
Transfer
A transfer transaction can be cancelled by the customer any time prior
System is displaying menu of account types specifying
Press "Cancel" key
System displays an appropriate message and offers customer the option of
Software Testing Principles & Techniques Page 16 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
to entering dollar amount
transfer from
choosing to do another transaction or not.
Transfer
A transfer transaction can be cancelled by the customer any time prior to entering dollar amount
System is displaying menu of account types specifying transfer to
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Transfer
A transfer transaction can be cancelled by the customer any time prior to entering dollar amount
System is requesting customer to enter a dollar amount
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Inquiry
System asks customer to choose an account to inquire about
Menu of transaction types is being displayed
Choose Inquiry transaction
System displays a menu of account types
Inquiry
System performs a legitimate inquiry transaction properly
System is displaying menu of account types
Choose checking account
System prints a correct receipt showing correct balance; System
Software Testing Principles & Techniques Page 17 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
records transaction correctly in the log (showing both message to the bank and approval back)
Inquiry
An inquiry transaction can be cancelled by the customer any time prior to choosing an account
System is displaying menu of account types
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Invalid PIN Extension
Customer is asked to reenter PIN
Enter an incorrect PIN; Attempt an inquiry transaction on the customer's checking account
Customer is asked to re-enter PIN
Invalid PIN Extension
Correct re-entry of PIN is accepted
Request to re-enter PIN is being displayed
Enter correct PIN
Original transaction completes successfully
Invalid PIN Extension
A correctly re-entered PIN is used for
An incorrect PIN has been re-entered
Perform another transaction
This transaction completes
Software Testing Principles & Techniques Page 18 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
subsequent transactions
and transaction completed normally
successfully as well
Invalid PIN Extension
Incorrect re-entry of PIN is not accepted
Request to re-enter PIN is being displayed
Enter incorrect PIN
An appropriate message is displayed and re-entry of the PIN is again requested
Invalid PIN Extension
Correct re-entry of PIN on the second try is accepted
Request to re-enter PIN is being displayed
Enter incorrect PIN the first time, then correct PIN the second time
Original transaction completes successfully
Invalid PIN Extension
Correct re-entry of PIN on the third try is accepted
Request to re-enter PIN is being displayed
Enter incorrect PIN the first time and second times, then correct PIN the third time
Original transaction completes successfully
Invalid PIN Extension
Three incorrect re-entries of PIN result in retaining card and aborting transaction
Request to re-enter PIN is being displayed
Enter incorrect PIN three times
An appropriate message is displayed; Card is retained by machine; Session is terminated
Software Testing Principles & Techniques Page 19 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
BREAKDOWN OF TOPICS
Suggested Activity: PROJECT MANAGER ( Role Play)
Each project manager should give a self-assessment, and each person who interacts with a project manager should evaluate that person’s performance of that in the project Arranges and leads team meetings effectively. Makes sure a secretary takes minutes. Delegates responsibilities to others effectively. Makes sure team members understand their roles. Guides the team toward their goals and milestones. Manages project timeline and resources well. Cooperates and works well with rest of team.
Let’s form a 4 team groups. Each team identifies the project manager in your team. Each project manager should give a self-assessment, and each person who interacts with a project manager should evaluate that person’s performance of that in the project. Guides the team towards their short term and long term goal achievements.
Suggested Activity: Architect Designers ( Role Play)
Software Testing Principles & Techniques Page 20 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Communicates well with customer. Develops effective requirements analysis of problem domain for customer. Develops clear system specification and design documents for programmers. Develops clear test plan. Contributes documentation timely and well. Cooperates and works well with other analysts and programmers.
Let’s form a 4 team groups. Each team identifies the analyst/designer should give a self-assessment, and each person who interacts with should an analyst/designer evaluate that person’s performance of that in the project. Designers to Develops the effective architecture to the client and developers.
Suggested Activity: Programmer( Role Play)
Communicates well with analyst/designer. Develops effective code. Develops well-commented, maintainable code. Tests unit effectively. Tests system acceptably and effectively. Contributes code and documentation timely and well.
Each Programmer should give a self-assessment, and each person who interacts with should an analyst/designer evaluate that person’s performance of that in the project.
Software Testing Principles & Techniques Page 21 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Suggested Activity: Testers( Role Play)
Communicates well with analyst/designer. Testers to create Test Cases Based on the Test cases go for Testing the Product Raise the Defect based on the Test Cases Post the defect in the Automated Tools Need to fix the Target date for Developers Intimate Updated Defect list to the Customers
The learners may have understand the term testing and its Principles and various types of testing and Testing Automation. Each Tester should give a self-assessment, and each person who interacts with should an analyst/designer evaluate that person’s performance of that in the project.
Software Testing Principles and Various Techniques
Software Testing Principles & Techniques Page 22 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Summary In this session, we learnt to:
● Define Testing
o A Process of evaluating a particular product to determine whether the product contain any defects
● Identify the Purpose of Testing o Validate the Product to make sellable
● Summarize the Limitations of Testing
o Based on the Test Cases testers should execute the Test Cases.
● Breakdown the various advantages of Testing o More Productive o Identify the Defects
● Define Various types of UI Testing
o Silk Automation o Fitness
● Setup the Testing Environment o Product should be in Jar/War/Ear format o Testing Tools o Testcases o SRS
● Differentiate between white box and Black Box Testing
o In White Box Testing testers able to see the implementation(Structural) part(Coding)
o In Black Box Testing testers able to the functionality of the Product ● Differentiate between Development and Testing Environment
o Development – Build the Product o Testing-Check the Quality of the Product
● Breakdown the various advantages of Unit-Testing
Software Testing Principles & Techniques Page 23 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
o Developers to test the product before sending to the testers
● Define Integrated Testing o Combining Group of modules and make a Build file
● Breakdown the various advantages of System Testing o Testers need to find the Defect in the Product
● Define Acceptance Testing o Client Testing team evaluate the offshore teams comments
● Summarize the Limitations of SQM o Check the Quality of the Product
● Define SQA o Certify and Validate the Product
● Identify the Steps involved to create Build File
o Simulate the same product in the testing environments.
● Investigate Various Testing tools available in the Market o Bugzilla o TestTrackPro
● Define Defect Testing
o To find the Defect in the Product ● Define System Testing
o Test the Product in Different Platform ● Differentiate between Unit Testing and Acceptance Testing
o Developers Cycle of Testing o Client Cycle of Testing
● Define Bug o Product output not matching with the Software Requirements
Specification ● Differentiate between Defect and Bug
o Testing Point of View it is called as Defect o Developers Point of View it is called as Bug
● Differentiate between Defect and Error
o Testers find the defect in the Product o While Debugging Developers finding the errors
● Summarize the Various mechanism for Posting the Defect
Software Testing Principles & Techniques Page 24 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
o Through Automated tools o Checklist
● Breakdown the various steps involved to post the Defect
o Screen shortcut o Attachments
● Summarize the Various responsibilities for Testers o Test the Product as per the Test Cases.
● Define Testing Automation
o Based on the Testcases to execute the Product ● Differentiate between Silk and Fitness Automation
o Silk Automation – Grouping the UI Screens o Fitness Automation – Database Validation
● Summarize the Various duties of Maintenance Engineer o Once the Client Accept the Product in the Future Client wants to
add/Modify the Product Cycle. ● Define Software Requirement Specification
o It Contains Fuctional Spec o Non Functional Spec o Use Case Diagrams o Pseudo Code
Software Testing Principles & Techniques Page 25 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Assignment
1. For this assignment, you will initially compare various software quality measurements Techniques for more than one software development methodologies such as Extreme Programming, Unified Model, and Waterfall Model, etc. You will then determinewhen a software project is completed and ready to ship to customers based on the compared different quality measurement techniques. “How good is good enough?”
Background You must write this report for the Sri Manakula Vinayagar Engineering College. The College is developing a software application for one of its clients. The software is designed to manage an electronic library that has lots of electronic documents, where the software should: • Allow the client's user to input, remove and lookup entries. • Provide an easy way to visualise the contents of the library. • Documents to be "checked out" for modification and "checked in" when finished with. • Allow for easy viewing of documents from a central repository. • Allow client's users to copy items to their own drives. It will then keep track of what drives a document is kept on. • Allow for consolidation (removing duplications) if the client's organization is running low of space. • Allow notes to be taken on any document. These notes can be restricted for viewing to certain users, or available to all users. The Report The report must be minimum 2000 words and includes (but is not limited to): _ Software quality attributes and definition of software quality _ Software quality planning and plans _ Software quality assurance _ ISO/9001:2000 approach to a software quality system _ SEI software development Capability Maturity Model Integrated (CMMI) _ ETVX (entrance, task, verification, exit) process model in software development _ Software productivity metrics and measurements _ Software quality metrics and measurements _ Software design and complexity metrics _ Software Project Assessments You may have to make assumptions about the project for things that effect the choice. You should document these in your report.
Software Testing Principles & Techniques Page 26 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
Software Testing Principles & Techniques Page 27 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College
References
● (IEEE829-98) IEEE Std 829-1998, Standard for Software Test
Documentation, IEEE, 1998. ● (IEEE982.1-88) IEEE Std 982.1-1988, IEEE Standard Dictionary of Measures
to Produce Reliable Software, IEEE, 1988. ● (IEEE1008-87) IEEE Std 1008-1987 (R2003), IEEE Standard for Software
Unit Testing, IEEE, 1987. ● Brooks, Frederick P, The Mythical Man-Month: Essays on Software
Engineering, Addison-Wesley, 1975. ● Maguire, Steve, Writing Solid Code, Microsoft Press, 1993. ● Ian Sommerville, "Software Engineering", Sixth Edition, Pearson Education,
2001.
Software Testing Principles & Techniques Page 28 Author Name: R.Suresh College Name: Sri Manakula Vinayagar Engineering College