I newbie junior QA. Need your advice..

How do you think how to test this server?

Program description

  • The program is implemented as a multi-threaded server under Windows for processing client requests over TCP / IP.

Launch parameters:

  • Helloworld.exe [port]
  • The client - any application - connects to the listening program on the listening port (4010 by default), sends a request (one byte, any value), then the program immediately sends a "Hello, World" test in response and closes the connection.

The program accepts up to 5 concurrent client connections. The timeout for the client request after the connection is set is 20 seconds, after the timeout expires the program closes the connection.

Requirements for the program

  • High speed processing of customer requests. Reliability, stability of work.

A task

  1. Detect bugs in the Hello World 2000 program
  2. Write a technical assignment to the utility for automating the testing of the program Hello World 2000 (in any form)
  • 1
    Please include what you have tried so far so we can better explain what to look to test and how to do it.
    – Swagin9
    Commented May 1, 2017 at 20:18
  • I do not know what test cases I write for the server
    – Vasiliy
    Commented May 1, 2017 at 20:20
  • I try made 5 connections. And server works fine :)
    – Vasiliy
    Commented May 1, 2017 at 20:47
  • To me this looks as an assignment.
    – dzieciou
    Commented May 2, 2017 at 0:00

1 Answer 1

  1. You need to clarify "high-speed processing" in its requirement. This kind of descriptive requirements is what we should avoid when drafting requirements. Talk to your developers or business analysts, ask them "how fast is high-speed?" and "How reliably is reliable".
  2. I found it a bit hard to believe that your server only accepts 5 concurrent client connection in parallel. Can you please clarify this as well?
  3. There is only one port 4010 available? How do you handle concurrent clients?

What I can suggest in terms of a generic test plan:

  1. Testing against requirement: processing is fast enough as per your requirement. You may use some kind of load testing tool that can measure response time.
  2. Testing against requirement: test if 5 clients can connect in parallel?
  3. Testing against requirement: test 20 seconds timeout, does a connection close after it expires.
  4. Testing against system security: I noticed there is no authentication or authorization mechanism, is this what you want?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.