QA

QA

Languages & Frameworks

Insight: Using JavaScript for QA purposes has a lot of benefits, especially when you work closely with front-end developers. Fits best when you have projects using Vue, React, Angular frameworks. For the QA perspective, knowing JS basics will let you know: how dynamic and asynchronous UI is build, catch defects from JS console, help dev team working closely on the same tech stack, understanding how modern web applications work, etc. But the main reason using JS due to the dominance of its ecosystem in modern IT world.
 

Insight: The main benefit of using Cypress is that it fits perfectly for JS projects (Vue, Angular, React). Powerful tool, Cypress as a swiss knife makes easier testing activities for QA Engineers and Front-End developers. Among other pros of using this tool, Cypress is ridiculously fast; allows to execute end-to-end, API, integration tests ; has big community support ; great documentation ;and also easy to learn, specially when it’s you first testing framework.
 

Insight: Karate is a simple testing framework for REST API Automation. Karate Framework is the only open-source tool to combine API test-automation, mocks and performance-testing into a single, unified framework. The BDD syntax popularized by Cucumber is language-neutral, and easy for even non-programmers. Besides powerful JSON & XML assertions, you can run tests in parallel for speed – which is critical for HTTP API testing.
 

Tools

Insight: Using JMeter has two main benefits, we can test our apis and we can do a performance test of our apis.
 

Insight: This user interface testing framework allows us to easily write understandable tests, using an implementation of the BDD syntax known as Gherkin. Writing a test with Gherkin is like writing down a feature.

Insight: BDD clearly describes client’s desired behaviour of planned software. BDD mainly focus on collaboration between users, developers and testers. Has a clear skeleton structure: Given, When, Then. BDD covers next problem: gap between understanding of business needs and developer proposition. The software design follows business value.
 

Insight: The main benefit of NEWMAN is simplicity. Every developer has worked with postman on his local machine, but what if we can abstract from UI and do the same just running API requests in console? Easy for integration with your CI, Newman is a powerful command-line runner for Postman.
 

Insight: Git is free and open source software for distributed version control: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.
 
Related Post: Git submodules

Insight: Wiremock is an HTTP mock server, which works not only as a server that serves mock responses to a client app, but also works as a proxy in the communication between the client app and the API server, thus being able to record the requests and responses generated in the communication to generate mappings that will later serve as mocks for the application. Wiremock can be configured as a standalone element in the communication between the client app and the API or as a process that can be executed in an automated test using the Wiremock library itself. In both cases, Wiremock will stand as a receiving element waiting to receive calls to serve as mocks. When configured as a proxy, Wiremock will forward the request made by the app to the API, so that it returns the expected response, Wiremock will record the information received from the API with which it will generate a mapping. This mapping will help us to configure the mock in a much easier and simpler way. Wiremock allows us to record the communication between app and API to generate mappings that will finally work as stubs to serve the application the same answers for each scenario that is launched in the test, so that the results of each UI test will only depend on a single factor: the code.
Wiremock was used for Bitpanda.
 

Insight: a powerful IDE for test automation that supports Java, Kotlin, Python, and JavaScript/Typescript and comes with database management, Docker support, and an HTTP client.

Techniques

Insight: A regression suite is a set of related regression tests within a regression plan. The tests are coordinated to ensure proper functional behavior within a given segment of the application. Regression testing improves the quality of the application code at the release point. The regression testing suite verifies that the customer does not receive defective release code. Regression Suite was used for Bitpanda.
 

Insight: Behaviour Driven Development is a software methodology that allows us to define and develop the product based on the behaviour of the system. It was born out of the aforementioned need to be able to communicate the business side with development. This agile process is derived from the well-known Test Driven Development (TDD) whose difference lies in the scope: TDD focuses more on the functioning of the code while BDD focuses on behaviour, from the user’s point of view. It should be noted that both methodologies are complementary, we can have a code developed based on TDD with unit tests, whose functionality and test automation have taken into account the scenarios defined in BDD. Thanks to the existence of BDD, it has been possible to establish software development standards that connect all the roles within an Agile team. BDD was used for Bitpanda.
 

Insight: Accessibility Testing is defined as a type of Software Testing performed to ensure that the application being tested is usable by people with disabilities like hearing, color blindness, old age, and other disadvantaged groups. Accessibility testing helps in making your application disabled friendly.
 
Related Post: Accessibility Testing

Secured By miniOrange