Research Design Testing Software

3.2.1 Research Design

According to Green and Tull, “It is the specification of techniques and processes for obtaining the information required. It is the all-over operational pattern of framework of the project which states what data is to be gathered from which source by what process”. The research design is defined as the plan for collecting and utilizing data so that desired information can be obtained. It is the thorough outline of how a study is going to take place. That is, how data can be collected, what tools will be used, how the tools will be used and the intended means for analyzing collected data.

3.2.2 Types and Data Collection Methods

The type and data collection methods are as follows:

A. Collecting Primary Data

Primary data are data previously unknown and which have been obtained directly by the researcher for a particular research project. In this research, these two methods of collecting primary data were taken into consideration:

1. The Observation Method

The researcher observes and records behavior that is relevant to the research. This is done by a close examination of the current problems face by NewFix Tailoring Ltd.

2. The Interview Method

This technique of data collection is simply a face-to-face conversation with the involvement of questionnaires’. According to Arnold et al 1991, “interview is, often used as a ‘talking questionnaire’. So the researcher through direct phone call conversation with the respective representatives staffs at NewFix Tailoring Ltd made it possible to get the vital data or information needed.

B. Collecting Secondary Data

Secondary data is collected from data sources that have been already existed. In this research, the researcher collected data from previous research, web information, and historical data and information about NewFix Tailoring Ltd.

3.2.3 Method and System Development Approach

This part of the section, it explains about the system approach, the development of systems, methods of analysis and design analysis tools. Following is the description of the approach and system development.

A. System Approach Method

The method the researchers used is systems approach which it uses object- oriented systems approach which are visualized with UML Unified Modeling Language and are as follows: Use Case, Activity Diagrams, Sequence Diagrams, Class Diagrams, collaboration Diagram, Component Diagram, and Deployment diagrams. According to Jian Wang Information System Analysis Section G01 – Fall 200, “The object oriented approach combines data and processes called methods into single entities called objects. Objects usually correspond to the real things an information system deals with, such as customers, suppliers, contracts, and rental agreements. Object-oriented model is able to thoroughly represent complex relationships and to represent data and data processing with a consistent notation, which allows an easier blending of analysis and design in an evolutionary process”. And according to Hoffer et al. 2002, “The goal of object-oriented approach is to make system elements more reusable, thus improving system quality and productivity of systems analysis and design”.

B. System Development Method

The system development method used in the research is the Prototype Model. The Software Prototyping refers to building software application prototype which displays the functionality of the product underdevelopment but may not actually hold the exact logic of the original software. Software Prototyping is becoming very popular as a software development model, as it enables to understand the customer requirements’ at an early stage of development. It helps get back valuable feedback s’ from the customer and helps software designers and developers understand about what exactly is expected from the product development. According to Sona Malhorta International Journal of Advance in Information Technology, “Instead of freezing the requirements before a design or coding can be proceed, a throwaway prototype is built to understand the requirements. This prototype is developed based on the currently known requirements. Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements. A prototype is a toy implementation of a system; usually exhibiting limited functional capabilities, low reliability, and efficient performance”. Figure 3.2 Prototype model source: Seema, Sona Malhotra – “International Journal in Computer and Information Technology”

1. Basic Requirement Identification:

This step means understanding the very basics of system requirements of NewFix Tailoring Ltd system especially in terms of user interface. The more intricate details of the internal design and external aspects like performance and security were ignored at this stage.

2. Developing the Initial Prototype:

The initial prototype of NewFix Tailoring Ltd management system was developed in this stage, where the very basic requirement was showcased and user interface were provided. These features may not work exactly in the same manner internally in the actual software developed and the workarounds were used to give the same look and feel to the customer in the prototype developed.

3. Review of the Prototype:

The prototype of the Human Resources system developed was then presented to the customer and the other important stakeholders in the research. The feedback were collected in an organized manner and used for further enhancements in the system developments.

4. Revise and Enhance the Prototype:

The feedback and review comments were discussed during this stage. The changes accepted were again incorporated in the new Prototype developed and the cycle repeats until customer expectations were met.

C. Analysis and Design Tools

With a system approach that is object-oriented, the researcher used a modeling language called the unified modelling language UML. According to IBG ibm.com website, UML is a visual language for specifying, constructing, and documenting the artifacts of systems. Therefore, the developing system is visualized by the following UML diagrams. 1. Class Diagram Class diagrams are the most common diagrams used in UML. Class diagrams consist of classes, interfaces, associations and collaborations. Class diagrams basically represent the object oriented view of a system which is static in nature. Active class is used in a class diagram to represent the concurrency of the system. Class diagram represents the object oriented of a system. So it is generally used for developing purposes. This is the most widely used diagram at the time of system construction.

2. Component Diagram

Component diagrams represent a set of components and their relationships. These components consist of classes, interface or collaborations. So component diagrams represent the implementation view of a system. During design phase software artifacts classes, interfaces etc. of a system are arranged in different groups depending upon their relationship. Now these groups are known as components. Finally, component diagrams are used to visualize the implementation.

3. Deployment Diagram

Deployment diagrams are set of nodes and their relationships. These nodes are physical entities where the components are deployed. Deployment diagrams are used for visualizing deployment view of the system. This is generally used by the deployment team.

4. Use Case Diagram

Use case diagrams are a set of use cases, actors and their relationships. They represent the use case view of a system. A use case represents a particular functionality of a system. So use case diagram is used to describe the relationships among the functionalities and their internalexternal controllers. These controllers are known as actors.

5. Sequence Diagram

A sequence diagram is an interaction diagram. From the name it is clear that the diagram deals with some sequences, which are the sequence of messages flowing from one object to another. Interactions among the components of a system are very important from implementation and execution perspective. So sequence diagram is used to visualize the sequence of calls in a system to perform a specific functionality.

6. Collaboration Diagram

Collaboration diagram is another form of interaction diagram. It represents the structural organization of a system and the messages sentreceived. Structural organization consists of objects and links. The purpose of collaboration diagram is similar to sequence diagram. But the specific purpose of collaboration diagram is to visualize the organization of objects and their interaction.

7. Activity Diagram

Activity diagram describes the flow of control in a system. So it consists of activities and links. The flow can be sequential, concurrent or branched. Activities are nothing but the functions of a system. Numbers of activity diagrams are prepared to capture the entire flow in a system. Activity diagrams are used to visualize the flow of controls in a system. This is prepared to have an idea of how the system will work when executed.

3.2.4 Testing Software

There is a lot of testing techniques that can be used to test a software, including; Black Box Testing and White Box Testing. As for software testing that is done in this project is the Black Box Testing. According to Vangie Beal webopedia.com, can also be known as, functional testing. A software testing technique is whereby the internal workings of the item being tested are not known by the tester. For example, in a black box test on a software design the tester only knows the inputs and what the expected out comes should be and not how the program arrives at those outputs. The tester does not examine the programming code and does not need any further kno wledge of the program other than its specifications.”

A. Black Box Testing – Steps

Here are the generic steps followed to carry out any type of Black Box Testing. 1. Initially requirements and specifications of the system are examined. 2. Tester chooses valid inputs positive test scenario to check whether SUT processes them correctly. Also some invalid inputs negative test scenario are chosen to verify that the SUT is able to detect them. 3. Tester determines expected outputs for all those inputs. 4. Software tester constructs test cases with the selected inputs. 5. The test cases are executed. 6. Software tester compares the actual outputs with the expected outputs. 7. Defects if any are fixed and re-tested. Black Box Testing Advantages The advantages are as follows: 1. Tests are done from a user’s point of view and will help in exposing discrepancies in the specification. 2. Tester need to know programming languages or how the software has been implemented. 3. Tests can be conducted by a body independent from the developers, allowing for an objective perspective and the avoidance of the developer-bias. 4. Test cases can be designed as soon as the specifications are complete.

3.3 Data

Understanding the data Data is the plural of datum. Data are particulars about something; it can be something that has meaning. Data can be defined as something that is known or considered or