Skip to main content
Back to blog
performance 19 May 2020 2 min read

Smoke Testing

Essential tools and techniques for smoke testing your test environment before performance testing begins, ensuring all components are functional and accessible.

M

Mark

Performance Testing Expert

Test environments must be functionally prepared before performance testing begins. When performance testing smoke tests operate without a user interface, several practical tools become valuable.

Tools and Techniques

CURL

A cross-platform utility supporting multiple protocols (HTTP, HTTPS, FTP, SFTP, TELNET, and others). It enables rapid request execution and result validation.

curl -I https://example.com
curl -X POST -d "param1=value1" https://api.example.com/endpoint

Reference: Curl Man page

TELNET

Though declining in popularity due to security limitations, this tool remains useful for port verification.

telnet 192.168.1.1 8080

SSH

Facilitates remote server connections and command execution with output redirection to local machines, useful for verifying component accessibility.

ssh user@192.168.1.1 "curl -I http://localhost:8080"

Reference: SSH Man Page

WGET

Designed for content downloading, this utility can verify resource availability and file integrity.

wget --spider https://example.com/resource

Reference: WGET Man Page

POSTMAN

A GUI-based platform enabling sequential or individual request creation for pre-primed environment testing. Useful for building collections of requests that can be executed in sequence.

SoapUI

Provides extensive request creation capabilities with pre-configured test sequences. Particularly useful for SOAP web services testing.

JMETER

Allows controlled low-load testing through thread groups to avoid endpoint overload.

Thread Group:
  - Number of Threads: 1
  - Ramp-Up Period: 0
  - Loop Count: 1

LOADRUNNER

Supports both VUGen-based use case execution and Controller-managed low-load scenarios.

POWERSHELL

Microsoft’s scripting language offers endpoint connectivity, remote command execution, and batch request processing.

Invoke-WebRequest -Uri "https://example.com" -Method GET
Test-NetConnection -ComputerName "192.168.1.1" -Port 8080

SHELL SCRIPT (BASH)

Linux environments enable batch request sequences with output validation capabilities.

#!/bin/bash
endpoints=("http://api.example.com/health" "http://api.example.com/status")
for endpoint in "${endpoints[@]}"; do
    response=$(curl -s -o /dev/null -w "%{http_code}" "$endpoint")
    echo "$endpoint: $response"
done

SQL DEVELOPER

Provides quick database connectivity verification and data validation through direct SQL queries.

Further Reading

Tags:

#smoke-testing #testing #curl #ssh #jmeter #loadrunner

Need help with performance testing?

Let's discuss how I can help improve your application's performance.

Get in Touch