-
Mutation tests your suite rather than your application. Introducing small errors (called mutations) into your application (errors that are not supposed to fix bugs or provide new functionality) to see if your test suite picks them up.
Integration tests demonstrate that different pieces of the system work together. Integration tests cover whole applications.
The idea of regression tests is to make a change to your application as required for bug fixing or new functionality, and regression testing will hopefully catch any problems (or regressions) with your changes.
- Apache JMeter
- GUI testing
- TestFX
- MSTest, JBehave, Karma, Protractor and Microsoft UI Automation
- REST Assured
- DBUnit
- cURL
- Arquillian
- Cypress
- QTP (Automated Functional Testing tool)
- Capybara (Web-based test automation software that simulates scenarios for user stories)
- Fundamentals of software testing and quality
- Logs
- Test Containers
- WireMock
- Lombok: Introduction to Project Lombok by baeldung
Ethical Hacking: Ethical hacking is legal since the purpose is to find weakness in the system or network. It recovers lost information, especially in case you lost your password and puts adequate preventative measures in place to prevent security breaches.
Penetration testing: Penetration testing try to exploit the vulnerabilities in a system. Penetration testing involves network penetration testing and application security testing. It also controls and processes around the networks and applications.
Penetration testing is a usually a form of black box security testing. In a pen test you are trying to break into the server as many times as possible and report back on how they where able to break in. This is often done multiple times to make sure that the patches hold water. This is an important type of security testing because its as real world as it gets. Regular penetration testing is a requirement of the PCI-DSS. Common tools for web application penetration testing are Acunetix(
By contrast in it white box testing you have full access to the source code. You can enable drugging on the application to get better test results from scanners like Acuenetix. You can also use Source Code Analysis Tools such as RATS(Open Source) and Coverity($$$$$).
There are 2 different forms of Denial Of Service attacks. The most simple is a Distributed Denial of service attack in which the hacker is using a bot net to flood your server with traffic. This traffic could be an ICMP Ping, or even a simple HTTP GET request. Cisco has a number of very expensive products to help prevent this type of attack.
Another form of Denial Of Service is when there is a problem with the server its self. When this type of security flaws are found its often given a CVE number becuase it is a violation of CWE-400. This is commonly due to an arithmetic overflow or stack/heap based memory corruption (a buffer overflow or dangling pointer). To prevent these types of attacks you should make sure that your software is up to date. Its not often that an 0-day DoS attack is used in the wild.
- JConsole (Packaged with JDK)
- Apache JMeter
- Java Performance Optimization
- Java Mission Control (JMC)
- VisualVM
Frameworks (A framework is simply a set of libraries that are used to develop code on a particular platform or on multiple platforms)
- Selenium (Selenium automates browsers) - Selenium IDE, Selenium WebDriver, Selenium client API, Selenium Grid, Selendroid, Appium
- Spock Framework
- Spring Test
- Robot Framework
- Strategy Pattern(Dependency Injection)
- Observer Pattern(Event Listener)
- Builder Pattern( While Writing Unit Tests )
- Factory Pattern(Web framewroks)
- Facade(REST)
- Singleton
- Software Testing Anti-patterns
- Using Cucumber with Selenium
- On Test Automation (Bas Dijkstra)
- Page Object Model (POM) & Page Factory in Selenium: Complete Tutorial
- Understand Stub, Mock and Fake in Unit Testing (C#)
- Test Automation Guru
- 10 Essential Unit and Integration #Testing #tools for #Java Programmers
- Must Read, Great Read: Software Testing Anti-patterns
- Application Security Testing on Cloud and the Future of Penetration Testing
- 37 Most Powerful Penetration Testing Tools (Security Testing Tools)
- Fundamentals of Testing
- Using Mockito with JUnit 5
- Test automation training is broken. Here's how to fix it
- Software testing as a career
- Periodic Table of Testing
- Top 10 Websites Every Software Tester Should Follow in 2018
- Top 5 Java Test Frameworks For Automation In 2019
- Growing Object-Oriented Software, Guided by Tests (Beck Signature)
- Selenium Design Patterns and Best Practices
- Pragmatic Unit Testing in Java with JUnit