Skip to content

jg8481/Tool-Strategies-Lone-Testers-Test-Leadership-Congress-2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Test tool strategies for lone testers - Test Leadership Congress 2019 Presentation

General Information

This repo contains all of the examples that will be covered in the "Test tool strategies for lone testers" presentation (click here to watch it on YouTube). More information about this Test Leadership Congress 2019 presentation can be found here... https://testleadershipcongress2019.sched.com/event/O5Zg/test-tool-strategies-for-lone-testers

This will be an ongoing project that I will keep working on. Any existing/new reusable examples, existing/new presentations, new approaches, or new tool experiments contained in this repo will be part of a book that I am currently writing.

The following are the basic technical requirements to run the examples during the presentation.

The following are optional requirements that you can install on your machine. They will be explained in the presentation and demonstrations.

Here is a brief summary of some of the tools used in this presentation.

  • Dockerized parallel and serial randomized tests, with results merging using Robot Framework.
  • Options for generating randomized test data using builtin keywords or malformed test data with the well known Radamsa general purpose fuzzing tool, https://gitlab.com/akihe/radamsa
  • Several examples of Slack notification keywords using a hybrid-manual-automated approach and Dockerized tests
  • Robot Framework + Graphwalker (a model-based testing tool) examples with replayable test runs while running a slow internet connection proxy called "Crapify", https://github.com/bcoe/crapify
  • Webhook mechanism that can trigger remote test processes with cURL commands, https://github.com/adnanh/webhook
  • Dashboard of Session-based Test Management using Shiva Prasad Adirala's excellent RobotFramework-Metrics project, https://github.com/adiralashiva8/robotframework-metrics

The examples in the presentation use a lot of Shell scripting. If you have a Windows operating system, the following options may work for you.

Before the presentation, please run the following on your machine.

git clone https://github.com/jg8481/Tool-Strategies-Lone-Testers-Test-Leadership-Congress-2019.git
cd ./Tool-Strategies-Lone-Testers-Test-Leadership-Congress-2019

Set up .env and local.env files using the provided template.env and template.local.env files. After setting up your .env and local.env files you can run the following, but it will require Docker on your machine.

./start-specific-docker-example-workflows-for-workshop.sh Build-Images-Teardown-Old-Docker-Containers

Presentation Examples

There will be presentation slides explaining the following in more detail and I will assist everyone with running them.

  1. Part One - Tool strategy examples for rapidly testing and adapting to frequently changing projects
./start-specific-docker-example-workflows-for-workshop.sh Part-One-Postman-Newman-Workshop-Examples
./start-specific-docker-example-workflows-for-workshop.sh Part-One-cURL-Workshop-Examples
./start-specific-docker-example-workflows-for-workshop.sh Part-One-Requests-Library-Workshop-Examples
./start-specific-docker-example-workflows-for-workshop.sh Part-One-Python-Library-Workshop-Examples
./start-specific-docker-example-workflows-for-workshop.sh Part-One-Run-All-Docker-Workshop-Examples
  1. Part Two - Tool strategy examples for enhancing existing tests and taking your test process further
./start-specific-docker-example-workflows-for-workshop.sh Part-Two-Postman-Newman-Workshop-Examples
./start-specific-docker-example-workflows-for-workshop.sh Part-Two-Python-Library-Workshop-Examples
./start-specific-docker-example-workflows-for-workshop.sh Part-Two-Requests-Library-Workshop-Examples
./start-specific-docker-example-workflows-for-workshop.sh Part-Two-cURL-Workshop-Examples
./start-specific-docker-example-workflows-for-workshop.sh Remote-Test-Process-Triggered-By-A-Webhook-Docker-Example
./start-specific-docker-example-workflows-for-workshop.sh Long-Graphwalker-Run-Workshop-Example
./start-specific-docker-example-workflows-for-workshop.sh Short-Graphwalker-Run-Workshop-Example
./start-specific-docker-example-workflows-for-workshop.sh Previous-Long-Graphwalker-Run-Workshop-Example
./start-specific-docker-example-workflows-for-workshop.sh Previous-Short-Graphwalker-Run-Workshop-Example
./start-specific-docker-example-workflows-for-workshop.sh Run-Kali-Linux-Tests
./start-specific-docker-example-workflows-for-workshop.sh Run-OWASP-Zap-Tests
./start-specific-local-machine-example-workflows-for-workshop.sh Hybrid-Tool-Desktop-Workshop-Example
./start-specific-local-machine-example-workflows-for-workshop.sh Hybrid-Tool-Desktop-Charles-Proxy-Workshop-Example
  1. Part Three - Combined results visualizing your testing story
./start-specific-result-gathering-example-workflows-for-workshop.sh Combined-Results-Dashboard-Workshop-Example
./start-specific-result-gathering-example-workflows-for-workshop.sh Metrics-Dashboard-Workshop-Example

Part Three of the presentations covers the following dashboards.

Ongoing Work

The following additional examples are for future webinars, workshops, and group meetups. Some of these examples require Appium, iOS Simulators, and Android Emulators to be installed.

US Robot Framework Community Webinars - August 22, 2019

Use the following information to help set up the basic Appium requirements:

After installing Appium try running appium-doctor. If any warnings show up please follow the instructions.

RoboCon 2020 Workshop - Strategies for creating your own conversational test assistant with Robot Framework and other tools - January 14, 2020

  • Commands used to run the example for this workshop.
    git clone https://github.com/jg8481/Tool-Strategies-Lone-Testers-Test-Leadership-Congress-2019.git
    cd Tool-Strategies-Lone-Testers-Test-Leadership-Congress-2019/Workshop-Examples/Shared-Resources/Bug-Risk-Prediction-Using-Heuristics-And-Machine-Learning
    ./start-bug-risk-prediction-docker-container.sh
    
  • Here is a recorded demonstration of the conversational test assistant used in this workshop.

Upcoming workshop or webinar - Combining Robot Framework and Docker with security and penetration test tools

  • The following will cover tool experiments for security and penetration testing.
    # New Robot Framework .robot files have been added...
    # Kali-Linux-Security-And-Penetration-Tests.robot
    # OWASP-Zap-Security-And-Penetration-Tests.robot
    # You can try them out by running the following commands...
    ./start-specific-docker-example-workflows-for-workshop.sh Run-Kali-Linux-Tests
    ./start-specific-docker-example-workflows-for-workshop.sh Run-OWASP-Zap-Tests
    
  • These examples will probably change and evolve as I attempt to combine them with other tools such as Graphwalker and possibly Appium...

Upcoming workshop or webinar - Combining Robot Framework automation with a web debugging proxy

  • The following will cover tool experiments for combining mobile and desktop automation with the web debugging proxy Charles Proxy.
    # New Robot Framework .robot files have been added...
    # Charles-Proxy-Desktop-Example.robot
    # Charles-Proxy-Mobile-Example.robot
    # You can try them out by running the following commands...
    ./start-specific-local-machine-example-workflows-for-workshop.sh Appium-Web-Browser-Setup
    ./start-specific-local-machine-example-workflows-for-workshop.sh Robot-Framework-Charles-Proxy-Desktop-And-Mobile-Browser-Test-Example
    ./start-specific-local-machine-example-workflows-for-workshop.sh Appium-Web-Browser-Teardown
    
  • These examples utilize a CharlesProxyExample.py library, a com.xk72.generic.charles.config file, and the jq JSON processing tool. The examples require both jq and Charles Proxy to be properly installed on a MacOS machine, and a valid Charles Proxy license key. More documentation about how to set up Charles Proxy can be found here.
  • The com.xk72.generic.charles.config file needs to have these filled in, otherwise Charles Proxy will not work headlessly (without the UI).
    <registrationConfiguration>
      <name>PUT YOUR NAME HERE</name>
      <key>PUT YOUR CHARLES PROXY LICENSE KEY HERE</key>
    </registrationConfiguration>
    

Upcoming workshop or webinar - Combining Robot Framework automation with a network packet analyzer

  • The following will cover tool experiments for combining mobile and desktop automation with the network packet analyzer Wireshark.
    # New Robot Framework .robot files have been added...
    # Wireshark-Desktop-Example.robot
    # Wireshark-Mobile-Example.robot
    # You can try them out by running the following commands...
    ./start-specific-local-machine-example-workflows-for-workshop.sh Appium-Web-Browser-Setup
    ./start-specific-local-machine-example-workflows-for-workshop.sh Robot-Framework-Wireshark-Desktop-And-Mobile-Browser-Test-Example
    ./start-specific-local-machine-example-workflows-for-workshop.sh Appium-Web-Browser-Teardown
    
  • These examples utilize a WiresharkExample.py library, wireshark-sslkeys.log file, and wireshark_lua_script.lua script. All of these require Wireshark to be properly installed on a MacOS machine. More documentation about how to set it up can be found here.
  • A wireshark-sslkeys.log file is provided. If you need to create your own, this article and this Wireshark documentation are both very helpful guides.

Upcoming workshop or webinar - Combining Robot Framework RPA automation with multiple machines running cryptocurrency mining software.

  • The following will cover tool experiments for combining Robot Framework RPA, SSHLibrary, PaBot, and Slack notifications to provide monitoring and alerts.
    # New Robot Framework .robot files have been added in General-Purpose-RPA-Toolkits in the Shared Resources...
    # Docker-SSH-Checker-Crypto-Mining-Machine1.robot
    # Docker-SSH-Checker-Crypto-Mining-Machine2.robot
    # You can try them out by running the following commands in General-Purpose-RPA-Toolkits...
    ./start-docker-rpa-workflows-from-bash.sh Build-Images-Teardown-Old-Docker-Containers
    ./start-docker-rpa-workflows-from-bash.sh RPA-Crypto-Mining-Machines-Parallel-Checker
    
  • These examples require two virtual machines to connect through SSH.
  • Please use the provided template.rpa.env file to set up the examples.

Slides for the presentation and additional videos of content that was not covered in the Test Leadership Congress 2019 conference recordings can be found in this repo.

This "Test tool strategies for lone testers" presentation is based on a workshop that was done at RoboCon 2019 in Finland. More information can be found in the following.

I also wrote an article on Medium describing the gist of the hybrid-manual-automated approach covered in the presentation.

Additional slides for future presentations and webinars that used the tool examples in this Test Leadership Congress 2019 repo as a template.


Big thank you to the following people and groups.

  • Pekka Klarck
  • Ed Manlove
  • Antti Karjalainen
  • James Bach
  • Jonathan Bach
  • Michael Bolton
  • Cem Kaner
  • Anders Dinsen
  • Anna Royzman
  • Kristian Karl
  • Mikko Korpela
  • Bryan Oakley
  • Shiva Prasad Adirala
  • Tatu Aalto
  • Henry Hinnefeld
  • The Docker development team
  • The Graphwalker development team
  • The entire Robot Framework community and its contributors

Their contributions to the testing community helped me a lot with this presentation and my day-to-day work.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages