课程简介
Web applications of today are extremely complex, and the risk of bugs is higher than ever. Yet rather than having a dedicated team of professional test engineers, more and more businesses are putting the testing burden on the software developers themselves. That means there is a new urgency for software developers to master the web application testing process.
Based on Dr. McMaster's book, "Web Application Testing for Developers", this class will provide developers with the knowledge they need to get started with modern web application testing terminology, techniques, tools, and processes.
目标收益
培训对象
课程大纲
Introduction to Testing and Web Applications |
1. Testing terminology 2. Testability a. Observability b. Controllability c. Automatibility 3. Web application architectures 4. State management 5. Implementation technologies |
Unit Testing |
1. Unit testing best practices 2. Server-side unit testing a. Testing code with dependencies b. Dependency injection and unit testing c. Refactoring for unit-testability d. Testing with mocks and stubs 3. Client-side unit testing a. Behavior-driven testing b. JavaScript test runners c. Debugging JavaScript tests |
Functional Testing |
1. Types of functional testing 2. Functional testing strategies 3. Capture-replay 4. Scripting with WebDriver 5. WebDriver best practices a. Organizing locators b. Useful test case base class c. Page Object pattern 6. Advanced functional testing issues |
Security Testing |
1. Web platform security challenges 2. Server-side vs. client-side security 3. Security issues and mitigations a. Leaking implementation details b. Form input and cookie tampering c. URL hacking d. Cross-site scripting (XSS) e. Cross-site request forgery (CSRF) f. SQL injection |
Web Services Testing |
1. SOAP and REST web services 2. SOAP and WSDL testing with SoapUI 3. REST testing with Postman |
Cross-Browser Testing |
1. Cross-browser testing requirements 2. Defining a browser testing matrix 3. Checking browser feature support 4. Testing different browser configurations a. Screenshot services b. Virtual machines c. User-Agent switching and emulation |
Accessibility Testing |
1. Types of accessibility challenges 2. Testing common accessibility recommendations a. Images, color, page structure, fonts b. Links, keyboard access 3. Screen reader emulation 4. Testing with a simple screen reader |
Performance Testing |
1. Goals of performance testing 2. Different types of performance testing 3. Designing a performance testing environment 4. Defining performance testing criteria 5. Load profiles 6. Types of bottlenecks 7. Load testing with JMeter |
Introduction to Testing and Web Applications 1. Testing terminology 2. Testability a. Observability b. Controllability c. Automatibility 3. Web application architectures 4. State management 5. Implementation technologies |
Unit Testing 1. Unit testing best practices 2. Server-side unit testing a. Testing code with dependencies b. Dependency injection and unit testing c. Refactoring for unit-testability d. Testing with mocks and stubs 3. Client-side unit testing a. Behavior-driven testing b. JavaScript test runners c. Debugging JavaScript tests |
Functional Testing 1. Types of functional testing 2. Functional testing strategies 3. Capture-replay 4. Scripting with WebDriver 5. WebDriver best practices a. Organizing locators b. Useful test case base class c. Page Object pattern 6. Advanced functional testing issues |
Security Testing 1. Web platform security challenges 2. Server-side vs. client-side security 3. Security issues and mitigations a. Leaking implementation details b. Form input and cookie tampering c. URL hacking d. Cross-site scripting (XSS) e. Cross-site request forgery (CSRF) f. SQL injection |
Web Services Testing 1. SOAP and REST web services 2. SOAP and WSDL testing with SoapUI 3. REST testing with Postman |
Cross-Browser Testing 1. Cross-browser testing requirements 2. Defining a browser testing matrix 3. Checking browser feature support 4. Testing different browser configurations a. Screenshot services b. Virtual machines c. User-Agent switching and emulation |
Accessibility Testing 1. Types of accessibility challenges 2. Testing common accessibility recommendations a. Images, color, page structure, fonts b. Links, keyboard access 3. Screen reader emulation 4. Testing with a simple screen reader |
Performance Testing 1. Goals of performance testing 2. Different types of performance testing 3. Designing a performance testing environment 4. Defining performance testing criteria 5. Load profiles 6. Types of bottlenecks 7. Load testing with JMeter |