SlideShare a Scribd company logo
1 of 20
© 2023 Verosint. All rights reserved.
A Tester’s Life - Startup
Edition
Bertold Kolics
Agile Testing Days USA, May 23, 2023
1
© 2023 Verosint. All rights reserved.
Before We Start
● How are you doing?
● Could I get to know you better?
2
https://t.ly/-otub
© 2023 Verosint. All rights reserved.
My Context
● Question Asker, Bulldog Engineer
● Not a Gatekeeper
● Verosint
○ SaaS business
○ We detect & prevent online account fraud
● Organization
○ small startup < 20 employees
○ distributed, remote engineering team
○ only testing specialist
3
https://t.ly/-otub
© 2023 Verosint. All rights reserved.
The New Role
● Greenfield - OMG!
○ how many times do you get the chance
to do it right from the beginning?
● Started at the same time as 1st DevOps
4
© 2023 Verosint. All rights reserved.
First Steps
● PPP - people, product, process
● Building a strategy
○ details next quarter and then beyond - from tactical to strategic
○ socialize with team
○ and get buy-in
● Roll up sleeves and get cranking
○ 1x1 intro to each team member - remote-first (people)
○ make it a priority to learn the domain (product)
○ building CI/CD pipeline for test automation (product)
○ research tooling for linting back-end/front-end, create configuration, add to pipeline,
clean-up code (product)
○ no main branch check-ins, introduce peer reviews, engage (process)
○ yes, manual testing where needed (product)
○ regular check-ins with product manager (product)
5
© 2023 Verosint. All rights reserved.
People
● 1x1 intro to each team member - remote-first
● Regular check-ins with product manager
● Work with remote UI team - started about the same time
○ contractors
○ different country
○ different culture
● Remember
○ each person has different communication preferences
○ think win-win
○ criticize privately, praise publicly
6
© 2023 Verosint. All rights reserved.
Product
● Make it a priority to learn the domain
○ account fraud
● Learn the product / technologies
○ graph database, 3rd party vendors for data
● Building CI/CD pipeline for test automation
● Research tooling for scanning the code
○ create configuration, add to pipeline, help cleaning up code
○ golangci-lint, eslint, SonarCloud
● Yes, manual testing where needed
7
© 2023 Verosint. All rights reserved.
Process
● No main branch check-ins
○ introduce peer reviews
○ engage in peer reviews
○ teach good practices
● Introduce tooling
○ Atlassian Suite
○ Setup projects
8
● Standups
○ introduce them
○ show the board - accountability, transparency
© 2023 Verosint. All rights reserved.
Working With Product Mgmt
● Know the direction what is coming
● Tendency to focus on features only
○ be the voice for testability, maintainability,
scalability, security (in addition to…)
● Challenge assumptions
○ explain pros/cons
○ ask the whys
● Start developing personas
○ buyer
○ users - administrator, fraud specialist, developer
● Think about ideal customer profiles
○ which companies, segments would benefit most from our offering
○ what language do they speak
● Why? This informs testing priorities, focus, goals
9
© 2023 Verosint. All rights reserved.
Working With DevOps
● Overlap in Goals
○ engineering productivity
● Automation with CI/CD
○ designing the pipeline
○ enabling fast feedback loop
● Setting up / creating environments
○ production, development
● Security
○ manual as well as automated testing
○ 3rd party libraries - think supply chain attacks
● Logging/Monitoring/Alerting
● Load / performance testing
○ preparation, scheduling, execution
10
© 2023 Verosint. All rights reserved.
Working With Executives
● No work is possible without their buy-in
○ make it easy for them to understand the whys
○ on a regular basis
○ articulate value to the business
○ you are not a gatekeeper
● Communicate often
○ build trust
○ transparency
○ demo your work
○ dashboards, metrics
11
© 2023 Verosint. All rights reserved.
Working With Interns
● Testing is rarely focus in college programs
● Opportunity for students
○ broaden perspective,
○ work on production code,
○ work in teams
● Opportunity for the team
○ practice mentoring
○ hone technical leadership skills
○ reduce that tech debt
● Works best if both parties win
○ Ask at the beginning: what does a successful internship look like for you?
● Example projects completed
○ E2E testing research & implementation; Roll out RenovateBot to automatically update
dependencies; CubeJS integration tests to reduce frontend regressions; Implement
CI/CD for library repositories (tagging/versioning)
12
© 2023 Verosint. All rights reserved.
Logging/Monitoring/Alerting
● DataDog
● Log content
○ right severity
○ right verbosity
○ connecting events flowing through the application
● Frontend logging client side errors
● Application Performance Metrics (APM)
● Notebooks for capturing content
13
© 2023 Verosint. All rights reserved.
Peer Reviews
● Takes many shapes and form
○ does not have to be asynchronous
○ pairing, mobbing, buddy checks, Slack huddles
● Opportunity to teach best practices
○ think junior developers
● Some guidelines help
○ checklists on content, timing, size
● Leverage linters / static analysers to point out the
obvious
○ allows you to focus on higher level concerns
● Be responsive & timely
○ ask questions about the code, avoid using “your code”
14
© 2023 Verosint. All rights reserved.
Documentation
● DocOps?
● Developers stink at it
● Working with documentation contractors
● Process - tech writer on merge requests
● API docs
○ OpenAPI
● Automating publishing
○ API specs
○ Other docs
○ Single source of truth!
15
© 2023 Verosint. All rights reserved.
Tools of My Trade
● Atlassian stack: Jira, Confluence
○ integrations (!) - Slack, Gitlab, Email, DataDog
● Gitlab: CI/CD, repository analytics, SAST
○ Also: Renovatebot - 3rd party component updates
● Static testing: golangci-lint, eslint, Sonar Cloud, Prettier
● Commit hooks: husky
● Unit / integration testing: go testing library, Jest, React Testing Library
● API / integration testing: Postman & Newman, Vacuum
● Load testing: k6, vegeta, f1
● End-to-end testing: Playwright
● Security testing: Zed Attack Proxy
● Documentation: Readme (& rdme client), Lucid, Miro
● IDE: Visual Studio Code (GitHub Copilot, REST Client)
● Data Quality: Google Sheets functions, SQL
16
© 2023 Verosint. All rights reserved.
To Recap
Why should work at a startup?
● Greenfield
● Lead & stay hands-on
● Wear multiple hats
● No silos
● Experience impact first hand
● No red tape
● Fewer meetings
● Want focused but varied work
● Enjoy being the glue engineer,
enjoy greasing the wheel
17
Why should you hire a testing specialist?
● Instills best practices from the get go
● Helps team to scale
● Increased engineering productivity -
less rework, more feature work
● Start early: you need a specialist
● You are not the one finding the bugs!
© 2023 Verosint. All rights reserved.
Books, Podcasts, Newsletters
18
● Books
○ Leading Quality: How Great Leaders
Deliver High-Quality Software and
Accelerate Growth
○ Holistic Testing: Weave Quality into
your Product
● Podcasts (full list)
○ AB Testing
○ Testing Peers
○ Dev Interrupted
○ Software at Scale
○ Maintainable
● The Pragmatic Engineer newsletter
© 2023 Verosint. All rights reserved.
My slides are available for you at:
https://bertold.kolics.net/pages/

More Related Content

Similar to A Tester's Life

Cynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not GuaranteedCynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not GuaranteedAnna Royzman
 
Demise of test scripts rise of test ideas
Demise of test scripts rise of test ideasDemise of test scripts rise of test ideas
Demise of test scripts rise of test ideasRichard Robinson
 
Testing and open source in automotive beyond automation and frameworks
Testing and open source in automotive  beyond automation and frameworksTesting and open source in automotive  beyond automation and frameworks
Testing and open source in automotive beyond automation and frameworksAgustin Benito Bethencourt
 
From class to architecture
From class to architectureFrom class to architecture
From class to architectureMarcin Hawraniak
 
#TOA13 - Tech Opoen Air Recommender Hackathon
#TOA13 - Tech Opoen Air Recommender Hackathon#TOA13 - Tech Opoen Air Recommender Hackathon
#TOA13 - Tech Opoen Air Recommender HackathonTorben Brodt
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsFedir RYKHTIK
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureYshay Yaacobi
 
Learnings from Developing a New B2B SaaS Product (Suryaveer Lodha (Sunny) Pro...
Learnings from Developing a New B2B SaaS Product (Suryaveer Lodha (Sunny) Pro...Learnings from Developing a New B2B SaaS Product (Suryaveer Lodha (Sunny) Pro...
Learnings from Developing a New B2B SaaS Product (Suryaveer Lodha (Sunny) Pro...IT Arena
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA
 
Recommender Hackathon @plista 2013/04
Recommender Hackathon @plista 2013/04Recommender Hackathon @plista 2013/04
Recommender Hackathon @plista 2013/04Torben Brodt
 
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike BursellDevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike BursellDevSecCon
 
Blockade.io : One Click Browser Defense
Blockade.io : One Click Browser DefenseBlockade.io : One Click Browser Defense
Blockade.io : One Click Browser DefenseRiskIQ, Inc.
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback frameworkThomas Papaspiros
 
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...WSO2
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverlessgjdevos
 
Software Engineering Primer
Software Engineering PrimerSoftware Engineering Primer
Software Engineering PrimerGeorg Buske
 

Similar to A Tester's Life (20)

Cynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not GuaranteedCynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not Guaranteed
 
Demise of test scripts rise of test ideas
Demise of test scripts rise of test ideasDemise of test scripts rise of test ideas
Demise of test scripts rise of test ideas
 
Testing and open source in automotive beyond automation and frameworks
Testing and open source in automotive  beyond automation and frameworksTesting and open source in automotive  beyond automation and frameworks
Testing and open source in automotive beyond automation and frameworks
 
Pusheando en master, que es gerundio
Pusheando en master, que es gerundioPusheando en master, que es gerundio
Pusheando en master, que es gerundio
 
From class to architecture
From class to architectureFrom class to architecture
From class to architecture
 
#TOA13 - Tech Opoen Air Recommender Hackathon
#TOA13 - Tech Opoen Air Recommender Hackathon#TOA13 - Tech Opoen Air Recommender Hackathon
#TOA13 - Tech Opoen Air Recommender Hackathon
 
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructure
 
Grenier "Building TechRxiv -- A Preprint Server for Engineering, Computer Sci...
Grenier "Building TechRxiv -- A Preprint Server for Engineering, Computer Sci...Grenier "Building TechRxiv -- A Preprint Server for Engineering, Computer Sci...
Grenier "Building TechRxiv -- A Preprint Server for Engineering, Computer Sci...
 
Learnings from Developing a New B2B SaaS Product (Suryaveer Lodha (Sunny) Pro...
Learnings from Developing a New B2B SaaS Product (Suryaveer Lodha (Sunny) Pro...Learnings from Developing a New B2B SaaS Product (Suryaveer Lodha (Sunny) Pro...
Learnings from Developing a New B2B SaaS Product (Suryaveer Lodha (Sunny) Pro...
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automation
 
Recommender Hackathon @plista 2013/04
Recommender Hackathon @plista 2013/04Recommender Hackathon @plista 2013/04
Recommender Hackathon @plista 2013/04
 
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike BursellDevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
 
Blockade.io : One Click Browser Defense
Blockade.io : One Click Browser DefenseBlockade.io : One Click Browser Defense
Blockade.io : One Click Browser Defense
 
Rapid app building with loopback framework
Rapid app building with loopback frameworkRapid app building with loopback framework
Rapid app building with loopback framework
 
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverless
 
Hexagonal architecture
Hexagonal architectureHexagonal architecture
Hexagonal architecture
 
Open cto presentation
Open cto presentationOpen cto presentation
Open cto presentation
 
Software Engineering Primer
Software Engineering PrimerSoftware Engineering Primer
Software Engineering Primer
 

More from Bertold Kolics

Taskfile - makefiles are fun again
Taskfile - makefiles are fun againTaskfile - makefiles are fun again
Taskfile - makefiles are fun againBertold Kolics
 
Password Managers - Lastpass
Password Managers - LastpassPassword Managers - Lastpass
Password Managers - LastpassBertold Kolics
 
GitHub Actions demo with mabl
GitHub Actions demo with mablGitHub Actions demo with mabl
GitHub Actions demo with mablBertold Kolics
 
Improve quality culture using visualization
Improve quality culture using visualizationImprove quality culture using visualization
Improve quality culture using visualizationBertold Kolics
 
Funnels of Hiring Test Engineers
Funnels of Hiring Test EngineersFunnels of Hiring Test Engineers
Funnels of Hiring Test EngineersBertold Kolics
 
Session Based Testing Made Fun
Session Based Testing Made FunSession Based Testing Made Fun
Session Based Testing Made FunBertold Kolics
 

More from Bertold Kolics (8)

Taskfile - makefiles are fun again
Taskfile - makefiles are fun againTaskfile - makefiles are fun again
Taskfile - makefiles are fun again
 
Email privacy
Email privacyEmail privacy
Email privacy
 
Password Managers - Lastpass
Password Managers - LastpassPassword Managers - Lastpass
Password Managers - Lastpass
 
Make DevOps inclusive
Make DevOps inclusiveMake DevOps inclusive
Make DevOps inclusive
 
GitHub Actions demo with mabl
GitHub Actions demo with mablGitHub Actions demo with mabl
GitHub Actions demo with mabl
 
Improve quality culture using visualization
Improve quality culture using visualizationImprove quality culture using visualization
Improve quality culture using visualization
 
Funnels of Hiring Test Engineers
Funnels of Hiring Test EngineersFunnels of Hiring Test Engineers
Funnels of Hiring Test Engineers
 
Session Based Testing Made Fun
Session Based Testing Made FunSession Based Testing Made Fun
Session Based Testing Made Fun
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

A Tester's Life

  • 1. © 2023 Verosint. All rights reserved. A Tester’s Life - Startup Edition Bertold Kolics Agile Testing Days USA, May 23, 2023 1
  • 2. © 2023 Verosint. All rights reserved. Before We Start ● How are you doing? ● Could I get to know you better? 2 https://t.ly/-otub
  • 3. © 2023 Verosint. All rights reserved. My Context ● Question Asker, Bulldog Engineer ● Not a Gatekeeper ● Verosint ○ SaaS business ○ We detect & prevent online account fraud ● Organization ○ small startup < 20 employees ○ distributed, remote engineering team ○ only testing specialist 3 https://t.ly/-otub
  • 4. © 2023 Verosint. All rights reserved. The New Role ● Greenfield - OMG! ○ how many times do you get the chance to do it right from the beginning? ● Started at the same time as 1st DevOps 4
  • 5. © 2023 Verosint. All rights reserved. First Steps ● PPP - people, product, process ● Building a strategy ○ details next quarter and then beyond - from tactical to strategic ○ socialize with team ○ and get buy-in ● Roll up sleeves and get cranking ○ 1x1 intro to each team member - remote-first (people) ○ make it a priority to learn the domain (product) ○ building CI/CD pipeline for test automation (product) ○ research tooling for linting back-end/front-end, create configuration, add to pipeline, clean-up code (product) ○ no main branch check-ins, introduce peer reviews, engage (process) ○ yes, manual testing where needed (product) ○ regular check-ins with product manager (product) 5
  • 6. © 2023 Verosint. All rights reserved. People ● 1x1 intro to each team member - remote-first ● Regular check-ins with product manager ● Work with remote UI team - started about the same time ○ contractors ○ different country ○ different culture ● Remember ○ each person has different communication preferences ○ think win-win ○ criticize privately, praise publicly 6
  • 7. © 2023 Verosint. All rights reserved. Product ● Make it a priority to learn the domain ○ account fraud ● Learn the product / technologies ○ graph database, 3rd party vendors for data ● Building CI/CD pipeline for test automation ● Research tooling for scanning the code ○ create configuration, add to pipeline, help cleaning up code ○ golangci-lint, eslint, SonarCloud ● Yes, manual testing where needed 7
  • 8. © 2023 Verosint. All rights reserved. Process ● No main branch check-ins ○ introduce peer reviews ○ engage in peer reviews ○ teach good practices ● Introduce tooling ○ Atlassian Suite ○ Setup projects 8 ● Standups ○ introduce them ○ show the board - accountability, transparency
  • 9. © 2023 Verosint. All rights reserved. Working With Product Mgmt ● Know the direction what is coming ● Tendency to focus on features only ○ be the voice for testability, maintainability, scalability, security (in addition to…) ● Challenge assumptions ○ explain pros/cons ○ ask the whys ● Start developing personas ○ buyer ○ users - administrator, fraud specialist, developer ● Think about ideal customer profiles ○ which companies, segments would benefit most from our offering ○ what language do they speak ● Why? This informs testing priorities, focus, goals 9
  • 10. © 2023 Verosint. All rights reserved. Working With DevOps ● Overlap in Goals ○ engineering productivity ● Automation with CI/CD ○ designing the pipeline ○ enabling fast feedback loop ● Setting up / creating environments ○ production, development ● Security ○ manual as well as automated testing ○ 3rd party libraries - think supply chain attacks ● Logging/Monitoring/Alerting ● Load / performance testing ○ preparation, scheduling, execution 10
  • 11. © 2023 Verosint. All rights reserved. Working With Executives ● No work is possible without their buy-in ○ make it easy for them to understand the whys ○ on a regular basis ○ articulate value to the business ○ you are not a gatekeeper ● Communicate often ○ build trust ○ transparency ○ demo your work ○ dashboards, metrics 11
  • 12. © 2023 Verosint. All rights reserved. Working With Interns ● Testing is rarely focus in college programs ● Opportunity for students ○ broaden perspective, ○ work on production code, ○ work in teams ● Opportunity for the team ○ practice mentoring ○ hone technical leadership skills ○ reduce that tech debt ● Works best if both parties win ○ Ask at the beginning: what does a successful internship look like for you? ● Example projects completed ○ E2E testing research & implementation; Roll out RenovateBot to automatically update dependencies; CubeJS integration tests to reduce frontend regressions; Implement CI/CD for library repositories (tagging/versioning) 12
  • 13. © 2023 Verosint. All rights reserved. Logging/Monitoring/Alerting ● DataDog ● Log content ○ right severity ○ right verbosity ○ connecting events flowing through the application ● Frontend logging client side errors ● Application Performance Metrics (APM) ● Notebooks for capturing content 13
  • 14. © 2023 Verosint. All rights reserved. Peer Reviews ● Takes many shapes and form ○ does not have to be asynchronous ○ pairing, mobbing, buddy checks, Slack huddles ● Opportunity to teach best practices ○ think junior developers ● Some guidelines help ○ checklists on content, timing, size ● Leverage linters / static analysers to point out the obvious ○ allows you to focus on higher level concerns ● Be responsive & timely ○ ask questions about the code, avoid using “your code” 14
  • 15. © 2023 Verosint. All rights reserved. Documentation ● DocOps? ● Developers stink at it ● Working with documentation contractors ● Process - tech writer on merge requests ● API docs ○ OpenAPI ● Automating publishing ○ API specs ○ Other docs ○ Single source of truth! 15
  • 16. © 2023 Verosint. All rights reserved. Tools of My Trade ● Atlassian stack: Jira, Confluence ○ integrations (!) - Slack, Gitlab, Email, DataDog ● Gitlab: CI/CD, repository analytics, SAST ○ Also: Renovatebot - 3rd party component updates ● Static testing: golangci-lint, eslint, Sonar Cloud, Prettier ● Commit hooks: husky ● Unit / integration testing: go testing library, Jest, React Testing Library ● API / integration testing: Postman & Newman, Vacuum ● Load testing: k6, vegeta, f1 ● End-to-end testing: Playwright ● Security testing: Zed Attack Proxy ● Documentation: Readme (& rdme client), Lucid, Miro ● IDE: Visual Studio Code (GitHub Copilot, REST Client) ● Data Quality: Google Sheets functions, SQL 16
  • 17. © 2023 Verosint. All rights reserved. To Recap Why should work at a startup? ● Greenfield ● Lead & stay hands-on ● Wear multiple hats ● No silos ● Experience impact first hand ● No red tape ● Fewer meetings ● Want focused but varied work ● Enjoy being the glue engineer, enjoy greasing the wheel 17 Why should you hire a testing specialist? ● Instills best practices from the get go ● Helps team to scale ● Increased engineering productivity - less rework, more feature work ● Start early: you need a specialist ● You are not the one finding the bugs!
  • 18. © 2023 Verosint. All rights reserved. Books, Podcasts, Newsletters 18 ● Books ○ Leading Quality: How Great Leaders Deliver High-Quality Software and Accelerate Growth ○ Holistic Testing: Weave Quality into your Product ● Podcasts (full list) ○ AB Testing ○ Testing Peers ○ Dev Interrupted ○ Software at Scale ○ Maintainable ● The Pragmatic Engineer newsletter
  • 19. © 2023 Verosint. All rights reserved.
  • 20. My slides are available for you at: https://bertold.kolics.net/pages/