How to Gain Technical Depth Into a Product

Embed Size (px)

Citation preview

  • 8/6/2019 How to Gain Technical Depth Into a Product

    1/2

    How to gain Technical depth into a

    product (in case the design

    specifications are not available)

    It is essential for a tester to know the product, not only the functionality (sometimes called as

    Business logic) but also to understand the implementation details of various components. I am not

    disputing that understanding that functionality is important, however, it is not sufficient. We need to

    understand technicalities too; technicalities as in what are the various components of the AUT (SUT)

    what are the different configurations (platforms) that are supported, interaction with 3rd

    party

    systems what is the mechanism, protocols, Etc Knowing all these parameters will help us in

    making the product more robust.

    Here are a few Tips and tricks that we can use to understand the product in a better manner:

    1. Understand what is the problem statement for the producta. This is a very important question, a lot depends on the answer to this questionb. There may be other use cases for the same product (Washing machine Punjab

    story, remember?)

    c. Chart out all the possible use cases to understand the complete picture2. Understand who is the end user

    a. This piece of information would help us in framing the right kind of test casesb. This would also help us in setting up the proper test bed

    3.

    Understand what is the deployment scenarioa. Whether its a standalone server accepting multiple client requestsb. Whether its a distributed server various server components on different machinesc. What is the protocol(s) used to connect server and client

    4. Understand the Log files (look at the example detailed below)a. Locate the log files of the server (SUT / AUT / DUT)b. Bump up the log level to TRACE / DEBUG (basically the highest possible)c. Perform a very basic dataflow flow (execute one test scenario)d. Identify various components that are listed (mentioned) in the log filee. Create a map of the dataflow, this method would provide you with a very detailed

    design of the product (be cautious as there might be several system level calls)

    f. Play around with the log levels to vary the extent if details you need5. Use of reverse engineering of executable / binaries (look at the example detailed below)

    a. There are several products (commercial as well as free) that de-compile the binariesb. Some de-compilers will re-generate the entire code for youc. Some of them can used to plot the classes and methods relationsd. This might be a little tedious, how-ever very useful when help is not available easily

    6. Last but not the least ask for a session from the developera. Ask the developer to explain the design

  • 8/6/2019 How to Gain Technical Depth Into a Product

    2/2

    b. This is the best bet however, may not always workout if there are time zone orschedule issues

    c.