Hello, I’m Kunal. I’m proud to be a part of milky way.

Software Testing


Author : Kunal Paliwal

Package Structure

The first company founded to provide software products and services was Computer Usage Company in 1955. Since then, software has become
an intrinsic part of business over the last decade. Business in almost all sectors depends on it, to aid in the development, marketing
and support of its productand services. According to industry analyst Gartner, the size of the worldwide software industry in 2013 was
US$407.3 billion, an increase of 4.8% over 2012. As in past years, the largest four software vendors were Microsoft, Oracle
Corporation, IBM, and SAP respectively.This has led to reliability becoming an important factor alongside costs while designing
software. Most bugs arise from mistakes and errors made in either a program's source code or its design, or in components and operating
system used by such programs.For example, bugs in code that controls the Therac-25 radiation therapy machine were directly responsible
for patient deaths in the 1980s. In 1996, the European Space Agency's US$1 billion prototype Ariane 5 rocket had to be destroyed less
than a minute after launch due to a bug in the on-board guidance computer program.This makes testing an important tool to prevent such
unexpected outcomes as well as increasing reliability of the software. Many critical issues will be discussed in this document which
will summarize the key issues and their solutions in the design of the test harness.This system will be implemented in C# using the
facilities of .Net framework class libraries and Visual Studio 2015. Test harness will be divided into separate modules in which each
module performs specific tasks.

The project should provide capability to:
1) Execute test requests after obtaining them from a XML file.
2) Handle each test request by isolating it with an app domain.
3) Create a log file with time stamp for each activity that takes place
in the test harness.
4) Support all client queries from the log file.
5) Fetch DLL files from the specified directory and inject it to the
   app domain.
6) Assert module which displays the status of the test harness.

Important issues to be solved during implementation of this system are:
1) Unloading exception – solved by making sure unloading happens b4 loading
 a new DLL.
2) Stub doesn’t work – solved by providing exception
3) App domain plugging
4) Third party dependencies – solved by accessing meta data
Thus Test Harness can handle almost all kinds of tests and such a system
can be implemented using the available resources provided by the
.Net framework.

Read more