KTH / devops-course

Repository of the DevOps course at KTH Royal Institute of Technology DD2482
193 stars 411 forks source link

Testing, verification and test automation #9

Open monperrus opened 6 years ago

monperrus commented 6 years ago

Wikipedia references:

"Automated testing is the act of conducting specific tests via automation (e.g. a set of regression tests) as opposed to conducting them manually, while test automation refers to automating the process of tracking and managing the different tests." source

bbaudry commented 5 years ago

Interesting tool. Detailed failure reports and hassle free assertions Scott test reporter https://github.com/dodie/scott

monperrus commented 5 years ago

From @AG00:

There is a relationship between desired properties (requirements), tests (verification) and test results. Those may be present in a hierarchy of components/subsystems/libraries. In addition, there is a relationship between planning activities on the system (product) being developed and its desired properties. Further, with time there will be more than one system/product configuration to consider and more than one version in use with different installations/deployments/customers. These relationships quickly becomes complex to understand and keep track of. As changes are being made (code or documents) and automatic tests are run, it would be good to have the information model changes generated rather than manually written. The information model can also be used to convince a customer (or the devops team itself) that a complex/high-level system property is achieved.

bbaudry commented 5 years ago

Testcontainers to test different environments on the developer's machine https://www.testcontainers.org/

bbaudry commented 5 years ago

A post about the challenges to get global metrics for code coverage https://massol.myxwiki.org/xwiki/bin/view/Blog/GlobalLocalCoverage

bbaudry commented 5 years ago

Security-based testing https://www.inspec.io/

bbaudry commented 5 years ago

DeFlaker: Automatically Detecting Flaky Tests https://www.jonbell.net/icse18-deflaker.pdf

bbaudry commented 5 years ago

Property-based testing in Java https://github.com/quicktheories/QuickTheories

monperrus commented 5 years ago

Cross Browser Testing, Selenium Testing, and Mobile Testing https://saucelabs.com/

monperrus commented 5 years ago

Perfecto - Cloud-based Devops Testing https://www.perfecto.io/

monperrus commented 5 years ago

Capturing test history https://stackoverflow.com/questions/37657130/how-to-capture-the-junit-test-result-of-project-in-database

monperrus commented 5 years ago

Automated Tool for Prioritizing JUnit Test Suites https://github.com/kanonizo/kanonizo

bbaudry commented 5 years ago

mutation testing https://github.com/hcoles/pitest

bbaudry commented 5 years ago

automatic unit test amplification https://github.com/STAMP-project/dspot https://arxiv.org/pdf/1811.08330.pdf

bbaudry commented 5 years ago

automatic detection of pseudo-tested methods https://github.com/STAMP-project/pitest-descartes https://arxiv.org/pdf/1807.05030.pdf

bbaudry commented 5 years ago

mutation testing in JS https://stryker-mutator.io/

monperrus commented 5 years ago

Property-based testing in OCaml https://github.com/c-cube/qcheck

@robertfeldt you may want to subscribe to this issue.

monperrus commented 5 years ago

Chris Parnin's Lecture on software bots https://docs.google.com/presentation/d/1JClXhqNX8ufzmxoDpVPCLRDlqu4tUkvbJgwYICw70kM/edit?usp=sharing

bbaudry commented 4 years ago

Testing of Microservices

https://labs.spotify.com/2018/01/11/testing-of-microservices/

bbaudry commented 4 years ago

Amazon codeguru It’s like having a distinguished engineer on call, 24x7 https://aws.amazon.com/codeguru/

matsskoglunds commented 4 years ago

Postman/Newman https://www.getpostman.com/

bbaudry commented 4 years ago

New testing course from TU Delft https://sttp.site/

monperrus commented 4 years ago

Rultor is a DevOps team assistant. It helps your programmers and release managers automate routine operations (merge, deploy and release), with an easy-to-use intuitive chatbot interface. https://github.com/yegor256/rultor

bbaudry commented 4 years ago

A series of recent posts about test and automation http://blog.testingcurator.com/2020/04/12/testing-bits-april-5th-april-11th-2020/

monperrus commented 4 years ago

ScalaTest: https://github.com/scalatest/scalatest

monperrus commented 4 years ago

Jasmine is a behavior-driven development framework for testing JavaScript code. https://jasmine.github.io/

monperrus commented 3 years ago

Catch2: modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++ https://github.com/catchorg/Catch2

bbaudry commented 3 years ago

Commonly used test data https://github.com/search?p=2&q=dQw4w9WgXcQ&type=Code

monperrus commented 2 years ago

Commercial product to accelerate tests with an automated dependency graph https://yourbase.io/

bbaudry commented 2 years ago

Automated Cucumber-JVM test pack for DECS built on the Serenity BDD framework https://github.com/UKHomeOffice/hocs-serenity-automation

bbaudry commented 2 years ago

Testing at Electronic Arts SUPERNOVA: Automating Test Selection and Defect Prevention in AAA Video Games Using Risk Based Testing and Machine Learning https://arxiv.org/pdf/2203.05566.pdf

bbaudry commented 2 years ago

Property-based testing in language X For example, in javascript https://marmelab.com/blog/2019/04/18/property-based-testing-js.html

monperrus commented 2 years ago

An interesting essay / demo / tutorial topic: Automated migration of Junit4 to Junit5

monperrus commented 2 years ago

Suggestion: Testing for GraphQL APIs and Engines.

bbaudry commented 2 years ago

An interesting and very original topic for a presentation / demo in software testing: code coverage in production

monperrus commented 2 years ago

Topic suggestion: in depth analysis of a mocking library in language X (eg Mockito)

bbaudry commented 2 years ago

fuzz testing is an essential topic for testing and security

monperrus commented 2 years ago

Robot Framework is a generic open source automation framework. It can be used for test automation and robotic process automation (RPA). https://robotframework.org/

bbaudry commented 2 years ago

Predictive Test Selection cuts testing time up to 70% by using machine learning to select and run only tests that are likely to provide useful feedback during test runs https://gradle.com/gradle-enterprise-solutions/predictive-test-selection/

bbaudry commented 2 years ago

Load-Test-As-Code. https://gatling.io/

bbaudry commented 1 year ago

Instancio is a Java library that automatically creates and populates objects for your unit tests. https://github.com/instancio/instancio

monperrus commented 1 year ago

Mimicking Production Behavior with Generated Mocks 2022

monperrus commented 1 year ago

Mutagen and cargo-mutants are two relevant mutation testing tools for Rust.

Credits @VIGGEEN cc/ @ErikNatanael

monperrus commented 1 year ago

following up on Jepsen JepREST: Functional tests for distributed REST applications.

bbaudry commented 1 year ago

A command-line benchmarking tool for rust https://github.com/sharkdp/hyperfine

bbaudry commented 1 year ago

BDD with Rust https://github.com/cucumber-rs/cucumber

bbaudry commented 1 year ago

A library for generating fake data in Rust. https://github.com/cksac/fake-rs

bbaudry commented 1 year ago

The art and craft of test-driven development (Increment, 2019)

monperrus commented 1 year ago

Integrity Test Framework - a sophisticated integration test automation framework for Java https://github.com/integrity-tf/integrity

monperrus commented 1 year ago

Newman is a command-line collection runner for Postman https://github.com/postmanlabs/newman

bbaudry commented 1 year ago

Framework for web testing, and capture&replay https://github.com/microsoft/playwright