Illustration of webpage being inspected by people

Web Applications Testing, Comprehensive | SEQA.X405


The proliferation of Web-based applications presents challenges for testing and quality. Distributed software architecture, diverse and dynamic execution environments (OSes, browsers, networks, run-time code generation), multiple programming languages or models, and a large user base all make Web testing more complex. Even non-Web-based apps today typically use Web services behind the scene, ranging from simple software updates to a “desktop shell” that hosts Web applications. These apps also require Web testing. This course provides the essential knowledge and skills needed to test Web apps and services. It covers Web testing from end to end but with more focus on the client-side testing.

The course begins with an introduction to Web architecture and the basic protocols for Web services. Using an example of a feature in a large Web application, you will learn to develop a test plan and test cases that can be executed automatically. The course covers three aspects of Web testing: UI, Web services, and load/performance. The Selenium tool is used to interact with browsers and to automate UI testing. The concepts of hermetic versus deterministic testing will be explained. You will learn to use Selenium design patterns to manage large numbers of automated tests. The course covers the use of Java or JavaScript in WebDriver tests and how to perform unit level, functional and behavioral tests as well as test coverage, with common testing tools used in the trade. The course also covers setting up test environments, using open source tools for testing the performance of Web applications.

The course employs open source tools to practice the various aspects of Web testing. Students are required to bring laptops to class and install tools on their own computers. Java programming experience is strongly recommended. JavaScript knowledge is also recommended and Python can be used as an option. Students should also understand basic testing terminologies, as they will not be reviewed in this course. The techniques learned in class can be useful for Web interface automation even though this is not the focus of the course.

Learning Outcomes
At the conclusion of the course, you should be able to

  • Understand how the web works and what are the challenges in testing web based software
  • Develop test plans for a feature or entire web site
  • Use selenium webdriver to develop automated tests
  • Develop tests targeting JavaScript applications
  • Understand and test REST based web services
  • Implement performance and load testing for web sites

Skills Needed: Experience working with HTML and CSS required.

Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860
FAQ
ENROLL EARLY!
This course is related to the following programs:

Prerequisite(s):

Estimated Cost: TBD

Course Availability Notification

Please use this form to be notified when this course is open for enrollment.

Contact Us
Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu