3.Test
Problems
- How to validate the feature requirements?
- How to build confidence about our product?
Testing Techniques
- Parametrized testing - Data Driven Testing
- Behavior Driven testing.
Python
- Pytest - Plugin-based test framework.
- tox - automate and standardize testing in Python
- Robot Framework
- pexpect - Expect-like module, a better tool for controlling other applications.
- paramiko - SSH client and server functionality
Java Family
- JUnit used for Spring based application with Mockito
- Spock for Groovy
- Selenium, Selenium IDE, Selenium Python Bindings.
- NextNG, general testing and Web Automation (Selenium)
- Unit Testing Spring Boot
Dynamic Application Security Analysis (DAST)
The Dynamic Application Security Analysis (DAST) is performed to identify the possible run-time vulnerabilities or security issues. Unlike static analysis, dynamic analysis is performed on a running project.
Tools Covered
- OWASP ZAP: Detecting Vulnerabilities in WebApps
- BDD Security: Behaviour Driven Development
- Arachini: Automated Vulnerability Scanning
- Nikto: Automatic WebApp Scanning
- Radamsa: Automated Fuzzing
- FuzzDB: Fault Injection Testing
Performance test
A/B Testing
A/B testing is essentially an experiment where two or more variants of a page are shown to users at random, and statistical analysis is used to determine which variation performs better for a given conversion goal.
Canary Testing
Canary Testing is a way to reduce risk and validate new software by releasing software to a small percentage of users.