Testing is a critical discipline for any organization looking to deliver high-quality software. This practical book provides software developers and QA engineers with a comprehensive one-stop guide to testing skills in 10 different categories. You'll learn appropriate strategies, concepts, and practical implementation knowledge you can apply from both a development and testing perspective for web and mobile applications.

Author Gayathri Mohan offers examples of more than 40 tools you can use immediately. You'll acquire the skills to conduct exploratory testing, test automation, cross-functional testing, data testing, mobile testing, and visual testing, as well as tests for performance, security, and accessibility. You'll learn to integrate them in continuous integration pipelines to gain faster feedback. Once you dive into this guide, you'll be able to tackle challenging development workflows with a focus on quality.

With this book, you will:

  • Learn how to employ various testing types to yield maximum quality in your projects
  • Explore new testing methods by following the book's strategies and concepts
  • Learn how to apply these tools at work by following detailed examples
  • Improve your skills and job prospects by gaining a broad exposure to testing best practices

Table of Contents

  1. 1. Introduction to Full Stack Testing
    1. Full Stack Testing for High Quality
    2. Shift-Left Testing
    3. Ten Full Stack Testing Skills
    4. Key Takeaways
  2. 2. Security Testing
    1. Common Cyber Attacks
    2. Web Scraping
    3. Brute Force
    4. Social Engineering
    5. Phishing
    6. Cross-site Scripting
    7. Ransomware
    8. Cookie Forging
    9. Cryptojacking
    10. Threats Framework
    11. Spoofed Identity
    12. Tampering with Inputs
    13. Repudiation of Actions
    14. Information Disclosure
    15. Denial of Services
    16. Escalation of Privileges
    17. Application Vulnerabilities
    18. Code or SQL Injection
    19. Cross-Site Scripting (XSS)
    20. Unhandled Known Vulnerabilities
    21. Authentication and Session Mismanagement
    22. Unencrypted Private Data
    23. Application misconfigurations
    24. Application Secrets Exposure
    25. Threat Modeling
    26. Threat Modeling Steps
    27. Threat Modeling Exercise
    28. Security Test Cases from the Threat Model
    29. Security Testing Strategy
    30. Static Application Security Testing (SAST)
    31. Source Composition Analysis (SCA)
    32. Image Scanning
    33. Dynamic Application Security Testing (DAST)
    34. Functional Security Tests Automation
    35. Manual Exploratory Testing
    36. Pen Testing
    37. Runtime Application Self Protection (RASP)
    38. Security Testing Tools
    39. Snyk IDE plugin
    40. Talisman Pre-commit Hook
    41. OWASP Dependency-Check
    42. OWASP ZAP
    43. Chrome DevTools & Postman
    44. Security as a habit
    45. Key Takeaways
  3. 3. Performance Testing
    1. Performance, Sales, and Weekends Off Are Correlated!
    2. Simple Performance Goals
    3. Factors Affecting Application Performance
    4. Architecture design
    5. Choice of tech stack
    6. Code Complexity
    7. Database performance
    8. Network Latency
    9. GeoLocation of the application and users
    10. Infrastructure
    11. Third-party integrations
    12. Key Performance Indicators
    13. Response time
    14. Concurrency/Throughput
    15. Availability
    16. Types of Performance Tests
    17. Load/Volume tests
    18. Stress tests
    19. Soak Tests
    20. Types of Load Patterns
    21. Steady Ramp-Up Pattern
    22. Step Ramp-Up Pattern
    23. Peak-Rest Pattern
    24. Performance Testing Steps
    25. Define the Target KPIs
    26. Define the Test Cases
    27. Prepare the Performance Testing Environment
    28. Prepare the Test Data
    29. Integrate APM Tools
    30. Script and Run the Performance Tests Using Tools
    31. Performance Testing Exercise
    32. Performance Testing Tools
    33. JMeter
    34. Gatling
    35. Apache Benchmark:
    36. Front-End Performance Testing
    37. Factors Affecting Front-End Performance
    38. RAIL Model
    39. Front-End Performance Metrics
    40. Front-End Performance TestingTools:
    41. Performance Testing Strategy
    42. Key Takeaways
  4. 4. Moving Beyond in Testing
    1. First Principles in Testing
    2. Defect Prevention Over Defect Detection
    3. Empathetic Testing
    4. Micro & Macro Level Testing
    5. Fast Feedback
    6. Continuous Feedback
    7. Measure Quality Metrics
    8. Communication & Collaboration Is Key To Quality
    9. Soft Skills Aid in Building Quality First Mindset
    10. Key Takeaways