Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 1
BCA (6th Semester)
Teaching Schedule
030010607: CC14 - Software Testing Techniques
Objective: To introduce the basic concepts of software testing, its types for determining system acceptability by using testing techniques and test automation tools so as to ensure delivery of quality applications.
Course Outcomes: Upon completion of the course, the student shall be able to CO1: Describe the process of application testing with its levels and strategies. CO2: Analyse, evaluate and use relevant application testing techniques and tools for specific application environment. CO3: Design test plan, develop and execute test cases for application acceptance. CO4: Demonstrate the usage of test automation tools for analyzing and testing web as well as mobile application. Programme Outcomes: PO1: Proficiency in and ability to identify problems related to computer science as well as design and apply computational knowledge to solve them. PO2: Ability to design, develop, test and maintain system, component, product or process as per needs and specification. PO3: Understanding of professional and ethical role and responsibility. PO4: Recognition of the need for and ability towards life-long learning. PO5: Knowledge of programming languages, database systems, operating systems, software engineering, Web & Mobile technology and relevant modern issues. PO6: Ability to demonstrate the use of modern tools, models and languages to solve problems related to software development. PO7: Ability to communicate effectively with range of audience.
Programme Educational Objectives: PEO1: To provide a basic foundation in the domain of computer applications. PEO2: To develop analytical and problem-solving skills for life-long learning in computer science. PEO3: To provide practical skill of tools and technologies to solve real-world problems. PEO4: To impart knowledge and inspiration to prepare and pursue further academic studies. PEO5: To induce the consciousness of ethics and moral values to serve the industry and society. Course Outcomes Mapping with PO, PEO and Applicable Course Syllabus Units:
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 2
Course
Outcomes Applicable PO Applicable PEO Applicable Course
Unit No. CO1 PO1, PO2 PEO1, PEO2 Unit -1, Unit -2 CO2 PO1, PO2, PO4 PEO1, PEO2, PEO3 Unit -3 CO3 PO2, PO5 PEO1, PEO2, PEO3,
PEO4 Unit – 3, Unit -4
CO4 PO3, PO4, PO6 PEO1, PEO2, PEO4 Unit -5, Unit-6
Unit No. 1 Unit Title Software Testing Fundamentals and Test Case Generation Unit Objective
To gain knowledge about the need of software testing and understand V-model of testing so as to avoid software failure.
Assumed activating prior knowledge
Fundamentals of Software Engineering concepts like software design and implementation, checklist for verification and validation of software.
Prior Knowledge Testing
1. What is software system? Name any two software system. 2. How validations can be applied to input data? 3. Why debugging a program is important? 4. Why use case identification clarity is necessary in application
development? 5. Write the importance of non-functional requirement.
Transferable skills
Active Listening Critical thinking & problem solving Reading comprehension Writing
Assessment Parameters
Assessment Parameter Type Assessment Parameter & Weightage)
Theory Quiz Unit Test -1 Unit Test -2 Internal Test Plan Report -1
Practical Unit Test -1 Unit Test -2 Section Test Semester End Examination
Time (Hours) 07 Hours Effective Key Terms
Error, Failure, Bug, Debug, Verification, Validation, Test cases, Test suite, Expected output, Actual output
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 3
Sub- Unit No.
Sub-Unit Title References Teaching Approaches
No. of Lecture (s)
O - Introduction - Importance of
Software Testing
- Career Opportunities
- Role and Responsibility of Software Tester
- Overview of Assessment and Evaluation considered in Semester
Lesson plan and Assessment Policy
Discussion 1
1.1 - Basic terminologies : error, bugs, fault, defects, failure used with Software - Software Testing Objectives
(RP)#18-Page No.482 (YS)#1-Page No. 1-16
Demonstration, Hands-On
1
1.2 Fundamentals of - Testing - Debugging - Quality
Assurance of Software
(YS)#1-Page No. 23-24 (RP)#17- Page No.473
Topic Slides 1
1.3 Characteristics of - Good Test - Testability of
Software
(RP)#18- Page No.482-483
Topic Slides 1
1.4 Importance of - Test Cases - Test Suites - Procedure to
generate of Test cases from Use cases
(RP)#18- Page No.483 (YS)#1-Page No. 21-22 (YS)#6-Page No. 285-290
Topic Slides 1
1.5 Guidelines for generating Validity
(YS)#6-Page No. 290-296
Topic Slides 1
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 4
Checks 1.6 Basics of V-Model
used for Software Testing
(YS)#1-Page No. 26 – 27
Chalk & Talk 1
Books & Other References
1. William Perry – Effective Methods for Software Testing – Wiley 2. https://www.d.umn.edu/~gshute/softeng/testing.html 3. http://www.juit.ac.in/department/cse&it/cse_courses_pdf/08B51CI1
01.pdf Essential Questions
1. How debugging and testing a software is different? 2. Why it is necessary to include validity checks in software application? 3. How verification is different from validation? 4. How test case is dependent on use case? 5. State the purpose of using V-model for software testing.
Unit No. 2 Unit Title Structural and Functional Testing Unit Objective
To obtain knowledge about levels of software testing including structural, functional and object oriented software testing approaches.
Cross Linkage
1.4, 1.5
Assumed activating prior knowledge
Functional requirements, Software fault, Defect identification, Error and Exception
Prior Knowledge Testing
1. Why graph approach is feasible in software testing? 2. What is Object Oriented programming? 3. What is the need of looping structure in program? 4. What is purpose of decision tree? 5. Why class modelling is important?
Transferable skills
Active Listening Critical thinking & problem solving Reading comprehension Writing
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 5
Assessment Parameters
Assessment Parameter Type Assessment Parameter & Weightage)
Theory Unit Test -1 Unit Test- 2 Internal Test Plan Report -1
Practical Unit Test -1 Unit Test -2 Section Test Semester End Examination
Time (Hours)
10 Hours
Effective Key Terms
Unit testing, Black box testing, White box testing, Cyclomatic Complexity,
Class based testing, Loop testing, Code coverage, Statement coverage, Graph, Performance
Sub- Unit No.
Sub-Unit Title References
Teaching Approaches
No. of Lecture (s)
2.1 Basics of Software Testing Levels - Unit Testing - Integration Testing - Validation Testing
System Testing
Unit Testing Considerations
(RP)#17- Page No.456 -458 (YS)#8-Page No. 369
Topic slides
2
2.2 Introduction to Approaches used in Software Testing
- Black Box Testing - White Box Testing
Benefits and Features of Black Box Testing and White Box Testing
(RP)#18- Page No.485- 491,495- 499
Topic slides
1
2.3 Introduction of Structural Testing Types of Structural Testing
- Basis Path Testing Flow Graph notation Independent Path Programs
Cyclomatic Complexity Graph metrics
- Control Flow Testing
(RP)#18- Page No.485-494 (YS)#4-Page No. 165 – 202,144-
Topic slides
2
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 6
Condition Testing Data Flow Testing Loop Testing
Simple Loops Nested Loops Concatenated Loops Unstructured Loops
Basics of Slice Based Testing - Program Slicing
Static Dynamic
150,197
2.4 Introduction to Object Oriented Software Testing Characteristics of Object Oriented Software Levels of Object Oriented Software Testing
- Class Testing - Inter-Class Testing - System Testing
(RP)#19- Page No.513
Topic slides
1
2.5 Object Oriented Software Testing Methods - Fault Based Testing - Scenario Based Testing
(RP)#19- Page No.519-520
Classroom discussion
1
2.6 Functional Testing Types - Equivalence Class - Boundary Value Analysis - Orthogonal Array - Decision Table - Cause-Effect Graphing
(RP)#18- Page No.495-499 (YS)#2-Page No. 37 – 99
Chalk & Talk 3
2.7 Integration Testing Types - Top-Down Integration
Depth-first Integration Breadth-first Integration
- Bottom-Up Integration - Regression Testing - Smoke Testing
Books & other References
1. William Perry – Effective Methods for Software Testing – Wiley 2. https://www.minigranth.com/software-testing/object-oriented-
testing/ 3. http://ecomputernotes.com/software-engineering/object-
oriented-testing 4. https://www.tutorialspoint.com/object_oriented_analysis_design/
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 7
ooad_testing_quality_assurance.htm 5. http://www.cs.iit.edu/~oaldawud/Slides/Class10_OO_Testing.pdf
Essential Questions
1. What help does Object Oriented programming provides in effective implementation of software? How Object Oriented testing approach is different from traditional testing approach?
2. How to calculate Cyclomatic complexity? 3. How statement coverage is different from branch coverage? 4. State one limitation of Boundary value Analysis (BWA). 5. Why smoke testing is important?
Unit No. 3 Unit Title Validation, System and Acceptance Testing
Unit Objective To gain knowledge about applying appropriate validation testing approaches in order to successfully achieve positive results for acceptance testing.
Cross Linkage 2.3, 2.4, 2.6, 2.7
Assumed activating prior knowledge
Non-functional requirement, Validation of input data, functional testing importance, performance testing importance
Prior Knowledge Testing
1. State any one difference between top-down and bottom-up testing. 2. How test suite can be generated? 3. Write the importance of test plan. 4. Why testing at different levels of software development is
essential? 5. What is use case scenario?
Transferable skills
Active Listening Co-ordination Critical thinking & problem solving Reading comprehension Writing
Assessment Parameters
Assessment Parameter Type
Assessment Parameter & Weightage)
Theory Unit Test -1 Unit Test- 2 Internal Test Plan Report -1
Practical Unit Test -1 Unit Test -2 Section Test Semester End Examination
Time (Hours) 07 Hours Effective Key Terms
System Testing, Acceptance Testing, Deployment, Usability, Configuration, Configuration and Review Criteria, Validation Criteria
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 8
Sub- Unit No.
Sub-Unit Title References Teaching Approaches
No. of Lecture (s)
3.1. Fundamentals of Validation Testing Criteria Considered for Validation Testing Validation Testing Approaches
- Configuration Reviews
- Alpha Testing - Beta Testing
(RP)#17- Page No.467-469 (YS)#1-Page No. 22
Topic slides 1
3.2. Characteristics and Benefits of System Testing
(YS)#8-Page No. 373 (RP)#17- Page No.470
Topic slides 1
3.3. System Testing Types - Recovery - Security - Performance - Stress - Load - Deployment
(RP)#17- Page No.470-472 (RP)#17- Page No.471 (YS)#11- Page No. 476 - 479
Topic slides 3
3.4 Basics of Acceptance Testing Acceptance Testing Tasks
- Acceptance Test Plan
- Acceptance Test Cases/Checklist
- Perform Acceptance Test
(YS)#8-Page No. 373
Self-paced learning
2
Books & Other References
1. Nageswara Rao Pusuluri – Software Testing Concepts and Tools – Dreamtech
2. Hitesh Gupta - Software Testing - International Book House – Pearson
3. https://www.softwaretestingclass.com/difference-between-system-testing-and-acceptance-testing/
4. https://www.testingexcellence.com/acceptance-testing-agile/
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 9
Essential Questions 1. Give any one example of deployment testing. 2. How security test is beneficial for software? 3. When is acceptance testing successful? 4. Why system testing is necessary? 5. What information does configuration review contains?
Unit No. 4 Unit Title Application Test Automation and Tools
Unit Objective To gain knowledge regarding test automation tools so as to ensure delivery of quality applications.
Cross Linkage 2.3
Assumed activating prior knowledge
Static method, static web page and dynamic web page, Web application
Prior Knowledge Testing
1. How to deploy a web application? 2. Why test automation is needed? 3. How manual testing is different from automated testing? 4. How dynamic methods are managed in web application? 5. How adequacy of test case achieved?
Transferable skills Active Listening Critical thinking & problem solving Reading comprehension Writing
Assessment Parameters
Assessment Parameter Type
Assessment Parameter & Weightage)
Theory Unit Test- 2 Internal Test Plan Report -2
Practical Unit Test -2 Section Test Semester End Examination
Time (Hours) 07 Hours Effective Key Terms Automation, Interface Analysis, Path Analysis, Review and
Inspections, Test Generation Sample Data
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 10
Sub- Unit No.
Sub-Unit Title References
Teaching Approaches
No. of Lecture (s)
4.1 Fundamental Need for Automation and application testing tools
(NC)#15- Page No. 430
Comprehensive Reading & Discussion
2
4.2 Categorization of Automation Tools - Static Testing Tools
Types of Static Analysis Control Flow Analysis Data Use Analysis Interface Analysis Path Analysis
- Dynamic Testing Tools Dynamic Testing Tool
Activities Program Monitors Report Summary
Statistics - Testing Activity Tools
Reviews and Inspections Test Planning Test Design and Development Test Execution and Evaluation
(NC)#15- Page No. 431-434
Topic slides 1
4.3 Finalizing Selection criteria (NC)#15- Page No. 434
Topic slides 1
4.4 Guidelines for Application Testing (NC)#15- Page No. 436
Topic slides
4.5 Approach for Test Data Generation - Static - Dynamic
(YS)#12- Page No. 494-495
Chalk Talk & Demonstration
2
4.6 Criteria for Test Adequacy (YS)#12- Page No.495
Discussion 1
Books & Other References
1. Naresh Chauhan – Software Testing Principles and Practices 2. Graham Bath, Judy McKey - The Software Test Engineers
Handbook – SPD 3. https://study.com/academy/lesson/types-of-automation-
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 11
testing-tools.html 4. https://smartbear.com/solutions/automated-testing/
Essential Questions 1. State any one usage of code comprehension. 2. Write the purpose of static testing tools. 3. How static testing tool is different from dynamic testing tools? 4. What is control flow analysis? 5. State any one advantage of program monitor.
Unit No. 5 Unit Title Testing for Web Applications
Unit Objective To obtain understanding related to testing web application considering interface, navigation and content aspects.
Cross Linkage 3.1, 3.3, 4.2
Assumed activating prior knowledge
Responsive Interface Design, Importance of Navigation in Web Application, Security in Database
Prior Knowledge Testing
1. What is client-server application? 2. How to make software user friendly? 3. How sitemap is helpful in easy navigation of any website? 4. What type of data is stored in database? 5. How content of website can be managed?
Transferable skills Active Listening Co-ordination Critical thinking & problem solving Reading comprehension Writing
Assessment Parameters
Assessment Parameter Type
Assessment Parameter & Weightage)
Theory Unit Test- 2 Internal Test Plan Report -2
Practical Unit Test -2 Section Test Semester End Examination
Time (Hours) 09 Effective Key Terms Content Testing, Database Testing, Configuration, Usability,
Compatibility, Navigation Checklist and Parameters
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 12
Sub- Unit No.
Sub-Unit Title References Teaching Approaches
No. of Lecture (s)
5.1 Overview of Web Testing - Test quality related risk
response time ease of use number of users ability to handle
traffic provide accurate
information Comparison of
- Web Application - Client-Server Application
Key Areas in Web Application Testing
- Functionality - Usability - Browser compatibility - Security - Load and stress - Storage and database
(RP)#18- Page No.503 (YS)#11- Page No.453-454
Topic slides 1
5.2 User Interface Testing Types - Navigation Testing - Form Based Testing
(RP)#18- Page No.503. (RP)#20- Page No.537-542
Demonstration 3
5.3 Criteria for Configuration and Compatibility Testing Quadrants for Configuration and Compatibility Testing
- Browser - User Interface
components - Operating System - Internet Connection Types - Hardware Devices - Online Services - Multimedia Services - Database
(RP)#20- Page No.545-548 (YS)#11- Page No.458
Topic slides 2
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 13
- Mobile Devices 5.4 Basics of Content Testing and
Database Testing Process of Content Testing
- Identify Testing Goals - Test Plan Creation - Monitoring Tests - Analyzing the Results - Test Content with Users
(RP)#20- Page No.534-535
Topic slides 3
Books & other References
1. Paul Jorgensen. Software Testing: A Craftsman's Approach, Auerbach Publications
2. https://www.softwaretestinghelp.com/web-application-testing/
Essential Questions 1. How to perform content testing? 2. Write any two issues involved with form based testing. 3. Discuss any two key areas in web application testing. 4. State any one difference between web application and client-
server application. 5. Write any four features involved in user interface testing.
Unit No. 6 Unit Title Testing for Mobile Environment
Unit Objective To gain knowledge about mobile application testing with respect to application acceptance.
Cross Linkage 3.3, 5.3
Assumed activating prior knowledge
Mobile application, User Interface and resolution, Configuration
Prior Knowledge Testing
1. Why mobile app security is needed? 2. How user friendly mobile app can be developed? 3. How to check interoperability of any application? 4. Discuss any one recent trend of web application. 5. State any one problem associated with performance testing.
Transferable skills Active Listening Co-ordination Critical thinking & problem solving Reading comprehension Writing
Assessment Parameters Assessment Parameter
Type Assessment Parameter & Weightage)
Theory Unit Test- 2 Internal Test Plan Report -2
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 14
Practical Unit Test -2 Section Test Semester End Examination
Time (Hours) 08 Hours Effective Key Terms Multi-Platform Compatibility, Connectivity Testing, Test Planning,
Content Providers
Sub- Unit No.
Sub-Unit Title References Teaching Approaches
No. of Lecture (s)
6.1 Introduction to Mobile Application Testing, Challenges faced by testers
- Planning of Quick Rollouts
- Multi-Platform Compatibility
- Dealing with a variety of connectivity modes
- Mobile Testing Tool Availability / Selection of Mobile Automation testing tools
(RP)#20- Page No.534-535
Topic slides 1
6.2 Testing Mobile Application considering Quality Characteristics
Topic slides 1
6.3 Mobile Testing Strategies - Usability Testing - Performance
Testing - Reliability Testing - Security Testing - Memory Testing - Energy Testing - Interoperability
Testing - Compatibility
Testing - Connectivity
Topic slides 2
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 15
Testing - Load Testing
6.4 Activities involved in Component Testing
- Services and its Content Providers
(EH)#10- Page No.194-198
Topic slides 4
Books & Other References
1. Ali Mili, Fairouz Tchier – Software Testing Concepts and Operations – Wiley
2. https://developer.android.com/training/testing/integration-testing
Essential Questions 1. Explain any four testing performed on mobile applications. 2. Write the purpose of planning of quick rollouts challenge of
mobile testing. 3. What is mobile testing? 4. State any two test automation tools used for mobile testing. 5. Write any one Quality Characteristics used for Mobile Testing
Considered Text Books for the Course:
1. Pressman, R. S. -Software Engineering: A Practitioner’s Approach -McGraw Hills [RP].
2. Yogesh Singh- Software Testing-Cambridge [YS]. 3. Erik Hellman, Android Programming, Pushing the limits, Wiley [EH]
Activities/Practicum:
The following activities shall be carried out by the students (learners).
Student(s) Type Activities to be Done
Slow learners During the last lecture allotted for Unit -4 and basically in last 10 minutes of lecture, this exercise is carried out where a student selected by teacher shall summarize the Unit.
Advanced learners During the last lecture allotted for Unit - 5 and basically in last 7 minutes of lecture, this exercise is carried out where any two students selected by teacher shall manage the conversation acting as Software Tester and
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 16
Team Leader for Exam Module of any training academy.
For all To improve writing skill: During the last lecture allotted for Unit -2 and basically in last 10 minutes of lecture, this exercise is carried out where teacher will assign an exercise comprising only one question i. e. Write any five points related to learning obtained from this unit. To improve analysis skill: During the last lecture allotted for Unit -3 and basically in last 10 minutes of lecture, this exercise is carried out where a case study will be given and students have to identify any five critical testing techniques applicable to the case given.
The following activities shall be carried out by the teacher.
Misconception checks
During the last lecture allotted for Unit -1 and basically in last 7 minutes of lecture, this exercise is carried out where teacher will provide any one conceptual false statement related to Unit -1 topics about Software Testing. The students need to correct the statement.
Demonstration of tool UsabilityHub During the last lecture allotted for Unit -6 and basically in last 10 minutes of lecture, this exercise is carried out where teacher shall demonstrate UsabilityHub tool used for navigation testing.
Computing Environment:
A student must have the following computing environment in laboratory and/or on his/her
laptop
Software Testing Type Computing Environment Required
Manual Testing Any IDE of Student Choice
B. V. Patel Institute of Computer Application, UTU 2019-2020
Ms. Poonam Godhwani & Ms. Bhumika Desai 17
(NetBeans 8.2, Visual Studio 2010, Python IDLE 3.5)
Unit Testing Selenium 3.14.0 Interface Testing/Navigation Testing
Katalon Studio 6.2.0
NetBeans IDE for Code implementation, Selenium for Web Applications, Katalon Studio for
both web and mobile applications
Number of Practical Problems in Journal: `12
Total sets to be developed for each division: 2
Unit Number Number of Questions
Time required to implement and debug the
question (in hours)
Minimum required of Journal
Certification
Unit 1 2 8
ALL
Unit 2 2 8 Unit 3 2 8 Unit 4 2 8 Unit 5 2 8 Unit 6 2 8 Total 12 48 Course objectives and Course outcomes mapping: To introduce the basic concepts of software testing, its types: CO1, CO2 To determine system acceptability: C04 To use testing techniques and test automation tools so as to ensure delivery of quality software: CO3, CO4