Course :: TISCO - up1/training-courses GitHub Wiki

2. Web Automate Testing - Robot framework

Course outline

  • Introduction to Acceptance Test-Driven Development (ATDD)
  • What about Test Automation framework
  • Introduction to Robot Framework
    • Installation and Configuration Robot Framework
    • Installation and Configuration Text Editor
    • Create and Run a first test script
    • How to write good test script
      • Make test script more readable
      • Refactoring test script
    • Workshop
  • Features of Robot Framework
    • Create Variables
    • Using Tagging
    • How to manage test data
    • Working with multiple browser such as Google Chrome, Internet Explore and Firefox
    • Learn more Libraries of Robot Framework such as Building, String, Collections and Screenshot
    • Workshop
  • Advance features of Robot Framework
    • How to use command line
    • Test Life cycle (Setup and Teardown)
    • Data-driven testing
    • Maintainable test script with Page Object Pattern
    • Workshop
  • Continuous Integration process
    • Introduction to Continuous Integration
    • Practices of Continuous Integration
    • Design the build pipeline of delivery processes
    • Installation and Configuration the Continuous Integration Server with Jenkins
    • Create new build pipeline in Jenkins
    • Run test script of Robot Framework in Jenkins
    • Generate test reports
    • Workshop

3. Mobile Automate Testing - Robot framework + Appium

Course outline

  • Testing strategy
    • UI Testing
    • API/Integration Testing
    • Integration Testing
    • Component Testing
    • Unit Testing
  • UI Testing with Appium for Android and iOS app
    • Installation and configuration
      • Appium Server
        • Appium Inspector
        • Appium Flutter for Flutter app
    • Testing with mobile app with Appium
    • Workshop
  • Use Appium with Robotframework
    • Robotframework library with appium
    • Write test case
    • Run test case
    • Create report
      • Manage dependencies for mobile app
        • Data management for testing
        • Manage database
        • Manage external APIs
  • Continuous Integration process
    • Introduction to Continuous Integration
    • Practices of Continuous Integration
    • Design the build pipeline of delivery processes
    • Installation and Configuration the Continuous Integration Server with Jenkins
    • Create new build pipeline in Jenkins
    • Run test script of Robot Framework in Jenkins
    • Generate test reports
    • Workshop

4. API Automate Testing - Postman + Newman

Course outline

  • แนวทางในการทดสอบระบบงาน API
    • โครงสร้างของระบบ API
      • REST API
      • gRPC
      • WebSocket
    • Validation and Verification (V and V model)
    • Regression test vs Re-test
  • Design-First vs Code-First
  • แนวทางในการพัฒนาระบบ API with Postman
    • Design
    • Documentation
    • Testing
    • Develop
    • Mocking
  • ชนิดของการทดสอบ API
    • Unit testing
    • Integration testing
    • Component testing
    • Contract testing
    • End-to-End testing
  • การวางแผนและเตรียมตัวสำหรับการเปลี่ยนจาก Manual testing มาเป็น Automation testing
    • Manual vs Automation Testing
    • Automation testing quadrant
    • Testing pyramid
  • การออกแบบขั้นตอนการพัฒนาและส่งมอบที่มีคุณภาพและรวดเร็ว
    • Continuous Integration and Delivery/Deployment
      • Continuous Testing
  • การใช้งาน Postman สำหรับการทดสอบระบบงาน
    • เรียนรู้การใช้งานใน feature ต่าง ๆ ของ Postman ว่าเป็นอย่างไรบ้าง
    • การสร้าง Request ในรูปแบบต่าง ๆ เช่น HTTP/HTTPs, WebSocket และ gRPC เป็นต้น
    • โครงสร้างและการใช้งาน Request ประเภทต่าง ๆ
    • รูปแบบของ request และ response เช่น HTTP เป็นต้น
    • การทดสอบ request และ response ต่าง ๆ
    • การสร้าง และ จัดการ collections สำหรับการจัดการกลุ่มของ request
      • Group by project
      • Group by flow/scenario
      • Reuse requests
    • การจัดการ data กับไฟล์ CSV และ JSON
      • Data-driven testing
    • การจัดเก็บ collections ใน Version Control System เพื่อให้สามารถทำงานร่วมกันได้ง่ายขึ้น
    • การใช้งาน environment สำหรับจัดการข้อมูลที่ใช้ร่วมกัน
      • Global variable
      • Collection variable
      • Request variable
  • การเขียน Test สำหรับการทดสอบ สำหรับ HTTP Request
    • เรียนรู้พื้นฐานการเขียน test script ของ HTTP request ใน postman ซึ่งเขียนในรูปแบบของภาษา JavaScript
      • HTTP response code
      • HTTP response body
      • JSON Schema Validator
    • การใช้งาน Postbot ตัวช่วยสำหรับการเขียน test case
    • Workshop ใน use case ต่าง ๆ
      • Reuse request
      • Custom library
      • Custom workflow with code (javascript)
      • Use external library
      • Retry on fail
  • การทดสอบแบบอัตโนมัติด้วย Postman และ Newman
    • เรียนรู้การทดสอบแบบอัตโนมัติด้วย Postman และ newman ซึ่งเป็น command line สำหรับการทดสอบ collection ผ่าน command line รวมทั้งการออกแบบ pipeline ของการทดสอบแบบอัตโนมัติ
    • การทดสอบผ่าน command line ด้วย newman
    • การติดตั้ง newman
    • การใช้งาน newman เพิ่มเติม
      • ใช้งานกับ environment
      • ใช้งานกับ data/csv
      • ใช้งานกับ data/json
    • การจัดการรูปแบบของผลการทดสอบ เช่น XML, JSON และ HTML เป็นต้น
    • การทำงานใน pipeline ของ Continuous Integration ต่าง ๆ
      • Jenkins
      • GitLab CI
      • GitHub Actions

6. Performance Testing - Apache JMeter

Course outline

  • Goals of performance testing
    • Speed
    • Scalability
    • Stability
  • Commons performance problems
    • Long load time
    • Poor response time
    • Poor scalability
    • Bottleneck
      • CPU
      • Memory
      • Network
      • OS
      • Disk
  • Type of performance testing
    • Load testing
    • Endurance testing
    • Stress testing
    • Spike testing
    • Volume testing
    • Capacity testing
    • Scalable testing
  • Performance testing processes
  • All about Apache JMeter
    • Performance testing tools
    • How Apache JMeter works ?
    • Installation and configuration
    • Use plugins
    • Create test plan
    • Run test plan
    • Reporting
    • Working with command line
  • Structure of test plan of Apache JMeter
    • Thread groups
    • Configuration elements
    • Controllers
    • Samplers
    • Assertions
    • Listeners
  • Collect and Analyze test results
    • Use listeners
    • Monitoring server metrics
    • JMeter report dashboard
  • Workshop