28
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 and  Techniques

Embed Size (px)

Citation preview

    

 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