Software Engineering

I am designing automation scripts using the REST APIs, RestAssured with Cucumber BDD framework. I have multiple APIs where one API’s response is used as a parameter in another API.
Here is my feature file:
Feature: Create Order API

@Background:
Scenario Outline: Generate Access token With Valid Details
Given Query param for request
| grant_type |
| client_credentials |
Given Basic Auth keys for request “<userName>” and “<key>”
When Build request for baseurl “PAYPAL_BASE_URI” and endpoint “ENDPOINT_GET_AUTH_KEY”
And Perform “POST” request using
Then status code is 200
And response contains “scope”
Examples:
| userName | key |
| AWnCb | EMAekuSA2f |

Now the response of the above API is as follows:
{
“scope”: “https://uri.pppaypal.com/services/invoicing https://uri.pppaypal.com/services/applications/webhooks”,
“access_token”: “ALs1szFnv2TJ19Zf3vq”,
“token_type”: “Bearer”,
“app_id”: “APP-284543T”,
“expires_in”: 311286,
“nonce”: “2022-05-31T03:41:41ZWs9dpOQ”
}

Now I need this “access_token” as in the “Create Order API” Authorization parameter with Bearer. also i need to pass “app_id” and “nonce” in the Create Order API. The “Create Order API” feature file is below:
Scenario: Verify create order api using valid auth
Given Generate request
And Build request for baseurl “PAYPAL_BASE_URI” and endpoint “ENDPOINT_CREATE_ORDER_API”
And Set header values as
| Content-Type | Authorization | app_id | nonce |
| application/json | <token> | <app_id> | <nonce> |
When Perform “POST” request using “FILE_PATH_ORDER_JSON”
Then status code is 201

How can I get the values from the response of one API and the use that data in the next API as payload or query param in the same feature file so that I can use it anywhere in this feature file?

I was trying to interact jmeter and influx db but getting as ERROR o.a.j.v.b.i.HttpMetricsSender: Error writing metrics to influxDB Url: http://localhost:8086/api/v2/write?org=ITM&bucket=JMter, responseCode: 401, responseBody: {“error”:”unable to parse authentication credentials”}
Could anyone please help me.

In any testing situation, when you’re using a tool, you must understand its working principles. You must know what it can and cannot do. You must know how to configure it, and how to calibrate it, how to observe it in action, and how to adjust or repair it when it’s not working properly. To do THAT effectively, you must be able to recognize when your tool is not working. … Read more

“Language models” is typically interpreted as a compound noun, something that models language. What happens if we consider “models” as a verb, though? We get a simple declarative sentence, with an implied object: language models our thinking, or language models the world. As with any model, replacing or modifying one of its elements can suggest something interesting, which can help us to refine our answers to two big questions that … Read more

Test Guild – Automation Testing Tools Community
Continuous Testing in DevOps Bootcamp (2024 Guide)
One issue I often hear about on my podcast is the fact that many teams are not taking advantage of continuous testing in DevOps. This is unfortunate because, when done right, it could be helping them deliver high-quality products faster to their customers. The common cause of the struggle is the need for a proper
You’re reading Continuous Testing in DevOps Bootcamp (2024 Guide), originally posted on Test Guild – Automation Testing Tools Community – and copyrighted by Joe Colantonio

AI dramatically transforms the gaming industry by automating world creation, producing realistic graphics, and optimizing production economics. The blog discusses how it enhances game testing and data optimization, ensuring polished, engaging, high-performance games. However, challenges like intellectual property and ethical concerns need careful management. AI also enables dynamic NPC behaviors and personalized gaming experiences.
The post AI in Games: 5 Ways it’s Transforming the Industry first appeared on TestingXperts.

I have developed an image processing web application and would like to run some load tests to get an idea how it will handle peak usage scenarios.
The application is asynchronous and to simplify things this is the current workflow:
The user logs in, uploads one or more jpeg file, makes choices of processing options (filters, rotation, splits, shapes coordinates extraction etc: all those params are set via ui and sent as part of the POST request to processing services) one service finishes its work, flags the file in a postgres db as ready for the next step so on so forth, some steps are final, and result in the user being notified to take further actions, some other steps are automatically picked up (kind of asynchronous tasks) so the system can carry on processing without user interaction.
My question, how would one approach load testing such asynchronous systems? Is looping to wait for a condition to happen a good practice in automated load testing ? Are there any load testing known best practices for such distributed and asynchronous systems? Any pitfalls to avoid ?
The load testing tool i’ve chosen is LocustIO as it is 100% code. But willing to reconsider others should any third party testing libs are required to accomplish this.

driver = webdriver.Chrome(service=Service(ChromeDriverManager(version=’114.0.5735.16′).install()), options=options)

I have been using this code with selenium version 114.0.5735.16 up until recently however today I received the error message:
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 116.0.5845.96 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

I have tried upgrading selenium in terminal and changing my code to use the new 116 but I get a different error message There is no such driver by url

Let’s say that your organization is certified to be compliant with ISO 9001 (or an industry-specific interpretation, such as AS 9100 for aerospace) and that your quality management system applies across the organization, including to software development efforts. However, no document in your QMS traces to ISO 90003 (or AS 9115), which provide software-specific interpretations of the documents. Does not tracing to the software-specific interpretations mean that your software development efforts do not need to address the issues?

Let’s take a specific example.

In AS9100, section 7.3.3 (Design and Development Outputs) adds a requirement beyond those in ISO 9001 that reads:

e) specify, as applicable, any critical items, including any key characteristics, and specific actions to be taken for these items

The definition of critical item is given as:

Those items (e.g., functions, parts, software, characteristics, processes) having significant effect on the product realization and use of the product; including safety, performance, form, fit, function, producibility, service life, etc.; that require specific actions to ensure they are adequately managed. Examples of critical items include safety critical items, fracture critical items, mission critical items, key characteristics, etc.

And the definition of key characteristic is given as:

An attribute or feature whose variation has a significant effect on product fit, form, function, performance, service life or producibility, that requires specific actions for the purpose of controlling variation.

If you trace to AS9115, it becomes clear what a key characteristic means for software:

Key characteristics in software are those measurable attributes where variability can be measured by the project and can, if left unchecked, adversely impact the project or product in areas (e.g., schedule, cost, maintainability, testability, reliability, portability). Examples of key characteristics include defect severity, complexity factors, nested menus, memory, timing, response time, and throughput targets.

If your organization’s QMS has process documentation that is designed to meet the intent of AS9100’s Design and Development Output, does that documentation have to account for key characteristics in software? Would a QMS that doesn’t address key characteristics in software be in non-compliance?

My interpretation of ISO 9001 and AS 9100 is that it applies to all product development, regardless of the type of product that is being developed. These software-specific documents are additional guidance to remove ambiguities or add additional clarity between the hardware/manufacturing terms of ISO 9001 and AS 9100. If software is part of your product and you are certified to ISO 9001 or AS 9100, you need to ensure that your software development processes conform to the intent of the process. Is this a correct interpretation?

After using selenium 4.11.0 version and launch error for 116 browser launch error was resolved.
Has anyone observed Maximum CPU utilization issue after changing to selenium 4.11.0?
I was using selenium 4.8.3 before and I was not facing any issues. After changing to selenium 4.11.0 the CPU issue started.
Before my selenium version was 4.8.3 and chrome browser version was 115. My scripts worked without problems.
Now my selenium version is 4.11.0 and chrome browser version is 116. I did not change anything else. Is this a problem with the selenium version or the browser?

Explore the essentials of DevSecOps and its impact on business security. This blog covers security integration into the software development lifecycle, highlights the role of automation, and outlines best practices to enhance security protocols. Understand the challenges and benefits of implementing DevSecOps, including its crucial role in maintaining robust security standards amidst rising cyber threats.
The post How to Optimize Business Security with DevSecOps? first appeared on TestingXperts.

I agree that responsivness of the UI app is pretty important and it must be tested. But, do you think, we should automate responsive tests of UI using Selenium ?

Im trying to set up cucumber over my page object.
I currently have as my login page object:

@FindBy (id = cF.username) public WebElement username;
@FindBy (id = cF.password) public WebElement password;
@FindBy (id = cF.loginButton) public WebElement loginButton;

@Test
public websiteProspector_beta doLogin(String myUsername, String myPassword) throws IOException {
logs.InfoDetails(“Logging Into Tomcat8- 2092”);

try {
username.sendKeys(myUsername);
password.sendKeys(myPassword);
loginButton.click();
{…}

and my step description as:

@And(“^I log into ao$”)
public void i_log_into_ao() throws Throwable {
actonLogin = new actonLogin(driver);
actonLogin.doLogin(cF.loginUsername, cF.loginPassword);
throw new PendingException();
}

When i run it, it successfully runs the first two steps, however when it comes to an object with @findby, I get this error:

java.lang.NullPointerException
at com.acton.PageObjects.loginPage.actonLogin.doLogin(actonLogin.java:41)
at com.acton.cucumber.cucumberSteps.i_log_into_ao(cucumberSteps.java:41)
at ✽.And I log into ao(com/acton/cucumber/login.feature:6)

The reason why I know it’s due to the @Findby is because when I change the login page object to use “driver.findelement(By….” it’s successful with no errors.
is there something im missing?

I am new to cucumber and automation all together, any help i can get is appreciated.