Martkos IT Ltd

View Original

Smoke testing

In all forms of testing it’s important to ensure that your test environment is functionally ready. This is no difference with performance testing. Sometimes performance testing smoke tests are headless so here are a few useful ways of testing.

CURL

Curl is a cross platform command that enables you to make requests. It supports a significant number of protocols including DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. You can quickly fire off a curl request and ensure that you get the expected result which is very powerful.

Curl Man page

TELNET

The usefulness of telnet has diminished over the years due to security concerns. However, it can be handy to check ports are open. You can simply enter a target IP and port and if you get a response (even an empty) response it can provide confidence that the end point can be reached.

telnet 192.168.1.1 8080

SSH

SSH allows you to connect to remote servers and even remotely execute commands and redirect them to the local machine. This can be used again to test connectivity and ensure components are reachable and ready.

SSH Man Page

WGET

WGET is a tool that can be used to download content. It could be quickly used to ensure resources are available, download them and then open the files to ensure the file is not corrupt.

WGET Man Page

POSTMAN

Postman offers a nice GUI method of creating individual or a sequence of requests. You could have a set of requests primed to quickly fire off when the environment is ready.

SOUPUI

SoapUI offers a plethora of methods of creating requests. Again you could have a set of requests primed to quickly fire off when the environment is ready.

JMETER

Within JMeter you could have a test plan with a thread group primed to fire off a sequence of requests using a small number of threads, so as to not overload the endpoint.

LOADRUNNER

Either VUGen could be used to fire off a specific use case, or the Controller could be used to send off a low load scenario of requests.

POWERSHELL

The Microsoft scripting language offers a variety of useful commands. You can connect to endpoints, remotely execute commands and many more things. You could also batch up requests.

SHELL SCRIPT (BASH)

Linux have a variety of shell languages, BASH being one of the most prominent. You could use it to batch up a block of requests, even validating the output.

SQL DEVELOPER

A quick connectivity test to the database can provide confidence that all database components are available., check data is primed etc.

FURTHER READING

What is smoke testing

Sanity Vs Smoke Testing