Upgrade to Pro — share decks privately, control downloads, hide ads and more …

๐—ง๐—ฒ๐˜€๐˜ ๐—”๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ฃ๐˜†๐—ฟ๐—ฎ๐—บ๐—ถ๐—ฑ

๐—ง๐—ฒ๐˜€๐˜ ๐—”๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ถ๐—ผ๐—ปย ๐—ฃ๐˜†๐—ฟ๐—ฎ๐—บ๐—ถ๐—ฑ

This deck was shared in MoT Kuala Lumpur's Meetup #7 on 13th October 2020

๐—”๐—ฏ๐˜€๐˜๐—ฟ๐—ฎ๐—ฐ๐˜ ๐—ผ๐—ป "๐—ง๐—ฒ๐˜€๐˜ ๐—”๐˜‚๐˜๐—ผ๐—บ๐—ฎ๐˜๐—ถ๐—ผ๐—ป ๐—ฃ๐˜†๐—ฟ๐—ฎ๐—บ๐—ถ๐—ฑ":

Test automation is not something new and has been around for about 20+ years. To get the best out of automated tests for software, there is one key concept - the ๐˜๐—ฒ๐˜€๐˜ ๐—ฝ๐˜†๐—ฟ๐—ฎ๐—บ๐—ถ๐—ฑ. It's a great visual metaphor that depicts different layers of testing and tells us how much testing needs to be applied to each layer.

๐—”๐—ฏ๐—ผ๐˜‚๐˜ ๐—ฆ๐—ฝ๐—ฒ๐—ฎ๐—ธ๐—ฒ๐—ฟ:
Pooventhan Supramaniam [QA Test Automation Lead at Appspace]

Pooventhan is an experienced automation tester. Driven by repetitive manual and mundane test efforts, he takes pride in providing the practical approach for complex product testing. As a QA Test Automation Practice Lead in Appspace, his goals include providing extensible automation infrastructure and working closely with QA team members to automate the execution and verification of software products.

More Decks by Ministry of Testing Kuala Lumpur

Other Decks in Programming

Transcript

  1. Introduction โ€ข As software application undergoes constant changes, testing effort

    increases. โ€ข Test automation introduced and getting common in industries. โ€ข ONE key concept to be successful in automation. โ€œTest Pyramidโ€ 2
  2. Unit Tests โ€ข Foundation โ€“ can range from a single

    method to an entire class. โ€ข Making use of test doubles โ€“ mocks and stubs. โ€ข Test all public interfaces of a class. โ€ข Consider Test Driven Development (TDD). 6
  3. Integration Tests โ€ข Tests integration of application with all the

    parts that live outside of application. โ€ข Requires actual instance of dependencies to be tested with. Hence, aim to run external dependencies locally. For example: โ€ข Local databases โ€ข Storage Emulators โ€ข Tends to be slower than unit tests and harder to write due to: โ€ข More moving parts โ€ข Spin up and data preparation โ€ข Advantage of giving confidence that application can correctly work with all the external parts. 7
  4. End-to-End (E2E) Tests โ€ข Verifying application behaviour as a whole.

    โ€ข Tested with deployed instance of services to verify production readiness. โ€ข Tends to be slow and flaky. โ€ข Testing high-value user interaction with the application (and strictly not for all sorts of edge cases) 8
  5. Considerations โ€ข Aim to run the automated tests in continuous

    integration/ continuous delivery pipelines for fast feedback loop. โ€ข Try to avoid duplicated tests and consider pushing tests down the pyramid when possible. โ€ข Write clean test code. It is as important as production code. 9