Skip to content

Instantly share code, notes, and snippets.

Avatar
🤖

Elias Nogueira eliasnogueira

🤖
View GitHub Profile
@eliasnogueira
eliasnogueira / 5_tool_java_developers_can_use_to_deliver_high_quality_software.md
Last active Sep 6, 2020
5 Tools Java Developers can use to deliver High-Quality software
View 5_tool_java_developers_can_use_to_deliver_high_quality_software.md

Title

5 Tools Java Developers can use to deliver High-Quality software

Description

Do you find it difficult to choose the right library to decrease the time you spend fixing bugs in your code? This talk will help you to not waste time presenting 5 tools to add additional test coverage at different levels of your application, each with a specific tip about the tool and its implementation via code. Now the levels of unit testing, integration, API and Web can be easily tested with these 5 tools.

Elevator Pitch

Choosing tools and/or libraries to increase test coverage and delivering reliable software is difficult because there are already several libraries with the same purpose, but with different ways of use.

@eliasnogueira
eliasnogueira / how_to_create_modularity_microservice_test_project.md
Last active Sep 6, 2020
How to create modularity microservice test projects
View how_to_create_modularity_microservice_test_project.md

Title

How to create modular microservice test projects

Description

The world is now full of distributed micro-services, generating different types of applications: the ones you are using to browse your social networks, to help professionals spend less time on repetitive tasks, and even to save lives.

We learned that testing the API layer with different approaches brings several benefits but also a complexity that can be measured in code duplication, high maintenance costs, and error-prone tests.

To solve this problem, in terms of how to test it, we can apply the same logic applied in microservices development: isolating them.

@eliasnogueira
eliasnogueira / 3_desing_patterns_arch_decisions_test_project.md
Last active Sep 4, 2020
3 Design Patterns and Architecture Decisions you must use in your project
View 3_desing_patterns_arch_decisions_test_project.md

Title

3 Design Patterns and Architecture Decisions you must use in your project  

Description

Have you ever found yourself in a situation where your code was highly maintained, requiring a high investment of time to find out what doesn't work? One of the starting points to solve this problem is to adopt design patterns and architectural decisions that will allow us to create better and more reliable tests.

The process to create any type of test at any level is not an easy activity. It's even harder when we cross the unit testing line to test other levels like integration, API, Web, and Mobile.   We can benefit and solve many problems by adopting simple solutions with known design patterns, good architecture decisions, and the right libraries.  

@eliasnogueira
eliasnogueira / FirstTest.java
Created Aug 24, 2020
Example of a test using the Base Test Class approach overriding the postcondition
View FirstTest.java
public class FirstTest extends BaseWeb {
@AfterAll
@Override
public void quitBrowser() {
// empty or add your implementation
}
@Test
void firstTest() {
@eliasnogueira
eliasnogueira / SecondTest.java
Last active Aug 23, 2020
Example of a class using a Base Test approach
View SecondTest.java
public class SecondTest extends BaseWeb {
@Test
void secondTest() {
// the test goes here
}
}
@eliasnogueira
eliasnogueira / FirstTest.java
Last active Aug 23, 2020
Example of a class using a Base Test approach
View FirstTest.java
public class FirstTest extends BaseWeb {
@Test
void firstTest() {
// the test goes here
}
}
@eliasnogueira
eliasnogueira / BaseWeb.java
Last active Aug 23, 2020
Base test class example
View BaseWeb.java
public abstract class BaseWeb {
protected static WebDriver driver;
@BeforeAll
static void webdrivermanagerSetup() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.get("http://eliasnogueira.com");
}
@eliasnogueira
eliasnogueira / SecondTest.java
Last active Aug 23, 2020
Example of a class without a Base Test approach
View SecondTest.java
public class SecondTest {
private static WebDriver driver;
@BeforeAll
static void webdrivermanagerSetup() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.get("http://eliasnogueira.com");
}
@eliasnogueira
eliasnogueira / FirstTest.java
Last active Aug 23, 2020
Example of a class without a Base Test approach
View FirstTest.java
public class FirstTest {
private static WebDriver driver;
@BeforeAll
static void webdrivermanagerSetup() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.get("http://eliasnogueira.com");
}
@eliasnogueira
eliasnogueira / ExplicitlyWaitExampleTest.java
Created Aug 20, 2020
Example about how to override the Explicitly Wait using Selenium WebDriver
View ExplicitlyWaitExampleTest.java
public class ExplicitlyWaitExampleTest {
private WebDriver driver;
private WebDriverWait wait;
@BeforeClass
public void preCondition() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
You can’t perform that action at this time.