Blog Archives

Understanding MZ Headers

Authors: Chetan Giridhar, Rahul Verma

image: http://freedigitalphotos.net/

Have you tried opening a binary file in notepad? Try it and you would see a lot of gibberish. Or we should say gibberish for human users but optimised for the software that deals with a given binary format.

Try the same for a PE (Portable Executable) file (Dll/Exe) in a notepad. What do you find? Were you able to read what’s in there?

You can surely read the first two letters “MZ” at the beginning of each of these files! With a little homework you can know that every binary file format starts with what is commonly called as “Magic Bytes”. These are the first 2-3 bytes in the file which tell the type of file. Focus of this small article is not the PE file format as such but on the history of how “MZ” came into being as the magic bytes for PE format and why not something as simple as “PE”?

This article discusses about the file format of the PE files in 32 bit and 64 bit versions of Windows with an emphasis on MZ header section. It aims to inform the readers about a tool (PEViewer) that can help users to read through the MZ header of the PE file.

Read More…

iMacros: Measuring Web Response Time

Authors: Chetan Giridhar, Rahul Verma

image: http://freedigitalphotos.net/

It’s hard to imagine a life without internet in the present age of communication. Internet is being used for just about anything ranging from getting a recipe to finding an address or researching on some topic. With the increase in the number of users on the internet, it has become imperative that the website responds to the user requests, with the latest research indicating that if a website takes more than 2-3 seconds, you start deeming it slow even though it has a lot of graphic content to render. Hence it has become a critical performance test to note the response times of your website even if it is launched on an intranet.

Measuring response times of websites can be done in the following context:

  • Checking the response times with the different system configurations of the web server on which the website is hosted.
  • Compare the response times of websites with different builds.
  • Noting the impact of adding graphical content to the website on the response times of websites.
  • Noting the impact of adding same graphical content in different formats (e.g. split images instead of a single big image).
  • Comparing the query performance for a web request exercising the database for different query implementations

This article discusses about an Add-on from firefox that helps the users to find the response times of your website. It also details on how Python scripts could be used to automate the same.

Read More…

Measuring Boot Time with BootRacer

 Authors: Chetan Giridhar, Rahul Verma

                                              image: http://freedigitalphotos.net/

 

“Man! It’s taking ages to boot-up!”

“Why does it take so long to boot-up, that wasn’t the case when I bought it!”

“Has it really slowed down, or I feel so?”

“Should I remove the XYZ tool from start-up to improve boot-up time? I would miss it if I have to.”

These and a bunch of other questions pop-up when it comes to quantitatively measuring the boot-up time. There are situations, especially in the professional testing world, where saying “I feel it is slower” wouldn’t suffice. First challenge is to measure boot time with a tool, the subsequent challenge is being able to develop automation around it so that multiple iteration data is taken for analysis.

Keeping a low boot time is imperative and a product development team wouldn’t want its application to be responsible for slowing down a desktop bootup time. One of the critical performance tests is measuring the impact of your application on the bootup time of the user computer. The measurement of bootup time helps to:

  • check health of your computer/laptop in terms of booting time. This would be especially of use after you have installed a new application.
  • compare the bootup time with your product versus the competitor product
  • compare the bootup time with a product by choosing certain options that add to boot time activities (e.g. certain application would give an option to be started at boot time)
  • set up a baseline via a given build and comparing against it for subsequent builds…

Read More…

Follow

Get every new post delivered to your Inbox.