Skip to content

Instantly share code, notes, and snippets.

View eliasnogueira's full-sized avatar
🇧🇷

Elias Nogueira eliasnogueira

🇧🇷
View GitHub Profile

Enhancing Project Integrity: A Modernization for Bug-Free Code

Description

Embarking on a Java project involves employing the best strategies, patterns, and architectural decisions, all geared towards a customer-centric.

Yet, there exists an often overlooked facet: quality assurance. While not entirely disregarded, we, as developers, sometimes limit ourselves to performing the basic unity and integration tests, which may leave room for bugs.

Fortunately, there are several straightforward approaches and tools that can be implemented to deliver a bug-free project with minimal effort.

Title

Build robust API tests with RestAssured

Description

This workshop will show you how to use a different approach from SpringTest or any other tool to build robust API tests in the integration later or intra-services.

Rest-Assured is a well-known Java DSL for testing REST services, giving software engineers a lot of freedom during the test automation process creation.

Title

Parallel frontend test execution using Selenium and Docker

Description

Nowadays, the main problem regarding front-end test execution is the time spent to cover the necessary scenarios to get the proper quality feedback. It's no wonder that we are focusing more on the earlier test stages like unit and integration. But frontend tests are also important, so how to make them faster?

I could reduce 2 days of manual tests to 35min sequential tests to 6min parallel tests for the same test suite! So you also can!

Title

Managing Testing Data

Description

Have you ever tried to troubleshoot an issue taking a looking at the log files? I bet you did! And it turns out the issue is related to data usage because, you know, users will use real data! Developers won't! A good thing about your recent troubleshooting is that you can understand the data. It's not a bunch of numbers or UUIDs in the name field. How about your development environment? Probably you use either hard-coded data or random strings. We must fix that!

Call4Papers plan

Open call4papers 2024

Event Date Location cfp link submitted ends
QA Global Summit 11 December 2023 Online link yes
Microsoft Java Developer Conference (JDConf) 27 March Online link yes
Voxxed Days Bucharest 27-29 March Bucharest, Romenia link yes December
Devoxx UK 8-10 May London, UK link yes 12 January 2024
@eliasnogueira
eliasnogueira / how-to-test-complex-api-integrations.md
Last active September 11, 2022 17:11
How to test complex API integrations

Title

How to test complex API integrations

Elevator pitch

Testing microservices is a day-by-day activity for any software engineer and is highly required to deliver bug-free services. Most of them create tests that can be seen only inside de microservice project which are unit and integration, whereas others cannot have the benefit to reuse. Applying the approach proposed in this presentation will enable you to create an approach to add more coverage, speed up the testing process, and enable e2e tests across different APIs.

Description

In the world of microservices, one of the challenges is to guarantee that the integrations we have for internal and external services are working without mocks. Normally we do unit and integration tests, but it's not sufficient to cover scenarios the customer might do in the real world.

This presentation will show how to extend the API test coverage through functional and end-to-end tests, using Rest-Assured, some design and test patterns, and a pipeline strategy to

@eliasnogueira
eliasnogueira / shift-left-testing-dev.md
Last active September 24, 2022 14:36
The Shift-Left Testing and the Saga to the Continuous Delivery

Title

The Shift-Left Testing and the Saga to the Continuous Delivery

Description

Every year we are trying to improve the development process in the context we are working on, with one main goal: to deliver a reliable application, as fast as we can, to the customers. One of the approaches many companies follow is Continuous Delivery, which will allow us to deliver continuously, with confidence, what we've developed. One of the key aspects is to check the application, which means testing it, at different moments, to make the application reliable.

In the context I'm inserted, a group of engineers (me included) has worked hard to create an approach based on our challenges, which include: how to deliver Java cloud-native applications asynchronously and bug-free?

@eliasnogueira
eliasnogueira / 5_tool_java_developers_can_use_to_deliver_high_quality_software.md
Last active September 24, 2022 14:52
5 Tools Java Developers can use to deliver High-Quality software

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.

@eliasnogueira
eliasnogueira / how_to_create_modularity_microservice_test_project.md
Last active September 11, 2022 17:17
How to create modularity microservice test projects

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 September 11, 2022 17:17
3 Design Patterns and Architecture Decisions you must use in your project

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. In this presentation you will learn, through a living code, how to use the following design/testing patterns:

  • Base Test Class: not only the basics but why you can be benefited from multiples bases tests classes
  • Fluent builder: we can use it to create fluent