Workshop 4: Adventures in Automated Testing
8:30am | Registration |
9:10am | Briefing - Adventure Guide |
9:40am | Hands-on-Lab Exercises (individual activity) |
11:20am | Demo: Coding with AI |
11:40am | Reflections & Questions |
12:00pm | End |
Scan QR to join the Telegram Channel
1
Adventures in Automated Testing
Michael Cheng
Principal Software Engineer
Government Technology Agency of Singapore
An introduction to automated testing
Briefing - Adventure Guide
3
What is Automated Testing?
4
What is Automated Testing?
from fizz_buzz import fizz_buzz
def test_empty_list():
input = 2
result = fizz_buzz(input)
assert result == [1, 2]
5
What is Testable Code?
Test Subject
Input
Username
Values from web form
Output
User Account
Database Entry
True / False
Collaborators
Database results
API Response
6
Different types of Automated Tests - Test Pyramid
7
Different types of Automated Tests - Test Pyramid
8
Simple structure of a test file
9
Sample test file (Python + PyTest)
from fizz_buzz import fizz_buzz
def test_empty_list():
input = 2
result = fizz_buzz(input)
assert result == [1, 2]
10
Difference between Integration & End to End Testing.
11
When to use any of these automated testing?
Unit Tests | Integration Tests | End-to-End Tests |
|
|
|
12
Start your web browsers!
Hands on Lab
13
Hands on Lab Exercises
14
Hands on Lab Exercises
Programming Language | Application Framework | Database | Unit Test | E2E Library |
JavaScript | ExpressJS | SQLite | Vitest | Playwright JS |
Python | FastAPI | SQLite | Pytest | Playwright Python |
Java | Spring Boot | H2 | Junit | Playwright Java |
15
Hands on Lab Exercises
As a User,
When I have added multiple Tasks to the To Do List,
And I have marked some Task as "Done",
Then the "Clear Completed" button should be enabled.
When I click on "Clear Completed",
Then I the "Done" Tasks should disappear from the To Do list.
16
Hands on Lab Exercises
17
Facilitators
Link to Hands-on-Lab Exercises
https://github.com/miccheng/test-automation-workshop
18
Adventures in Automated Testing Agenda
8:30am | Registration |
9:10am | Briefing - Adventure Guide |
9:40am | Hands-on-Lab Exercises (individual activity) |
11:05am | Demo: Coding with AI |
11:30am | Reflections & Questions |
12:00pm | End |
Scan QR to join the Telegram Channel
https://github.com/miccheng/test-automation-workshop
19
Coding with AI
Demo
20
Coding with AI
21
Think deep thoughts…
Reflections
22
Benefits of writing tests
23
Benefits of writing tests
24
Think deeper thoughts…
Questions?
If shy, can also ask in the Telegram Channel
25
Email: michael_cheng@tech.gov.sg
LinkedIn: https://www.linkedin.com/in/miccheng/
https://go.gov.sg/stack2024-workshop-feedback
Share your feedback with us!
26
Thank you!
Adventures in Automated Testing - Logistics
8:30am | Registration |
9:10am | Briefing - Adventure Guide |
9:40am | Hands-on-Lab Exercises (individual activity) |
11:20am | Demo: Coding with AI |
11:40am | Reflections & Questions |
12:00pm | End |
Scan QR to join the Telegram Channel
27
Presentation title [40pt Calibri]
Speaker Name [24pt Calibri]
Speaker Title [20pt Calibri]
Speaker Organisation [20pt Calibri]
Divider Title Text [24-20pt Calibri]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo.
Divider Title [35pt, Calibri]
29
Presentation title [36-32pt Calibri] – OPTION 1
Presentation Text [26-18pt Calibri]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo.
30
Presentation title [36-32pt Calibri] – OPTION 2
Presentation Text [26-18pt Calibri]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
Ut wisi enim ad minim veniam, quis nostrud
exerci tation ullamcorper suscipit lobortis nisl
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet
Image
31
Presentation title [36-32pt Calibri]
Presentation Text [26-18pt Calibri]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo.
32
Presentation title [36-32pt Calibri]
Presentation Text [26-18pt Calibri]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh
Ut wisi enim ad minim veniam, quis nostrud
exerci tation ullamcorper suscipit lobortis nisl
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet
Image
33
Email: XXX
LinkedIn: XXX
34
Thank you!
35
Thank you!