Monday 13 August 2012



NATIONAL INSTITUTE OF INDUSTRIAL ENGINEERING

PGDIE-42


By: -
 
RATIKA KAPOOR
Roll NO. 75
K.RATNAKAR REDDY
Roll No. 112
YOGESH BHONDEKAR
Roll No. 105


Test-driven development (TDD) of software systems

Introduction

Test driven development (TDD) is a software engineering technique to promote fast feedback, task-oriented development, improved quality assurance and more comprehensible low-level software design. Benefits have been shown for non-reusable software development in terms of improved quality (e.g. lower defect density)
Test-Driven Development (TDD) is a novel approach to software engineering that consists of short development iterations where the test case(s) covering a new functionality are written first. The implementation code necessary to pass the tests is implemented afterwards then tested against the test cases. Defects are fixed and components are refactored to accommodate changes. In this approach, writing the code is done with a greedy approach, i.e. writing just enough to make tests pass, and the coding per TDD cycle is usually only a one-to-atmost-few short method, functions or objects that is called by the new test, i.e. small increments of code.
Test-Driven Development can be implemented at several levels:
• Basic cycle which covers the generation of unit test cases, implementation, build and refactoring.
• Comprehensive development process which extends the methodology to overall black box testing scripts, including performance, scalability and security testing.
• Agile process such as SCRUM
Benefits and Limitations

There are several benefits to have the test cases written before the production code
• The engineer(s) have almost an immediate feedback on the components they develop and tested against the test cases. The turnaround time for the resolution of defects is significant shorter than traditional waterfall methodology where the code is tested days or weeks after implementation and the developer has moved to other modules.
• The implementation is more likely to match the original requirements as defined  by product management. The test cases are easily generated from the use cases or user scenario and reflect the functional specifications accurately without interference from the constraints and limitation of the architecture design or programming constructs. The approach guarantees to some degree that the final version fulfill customer’ or product marketing requests.
• The methodology prevents unwarranted design or components to crimp into the product. The test cases or unit test drivers define the exact set of required features. It is quite easy to identify redundant code, detect and terminate unnecessary engineering tasks.
• The pre-existence of test cases allow the developer to provide a first draft of an implementation for the purpose of prototyping, evaluation or alpha release, and
postponed a more formal implementation through refactoring.
• TDD fits nicely into customer-centric agile process such as SCRUM. For instance, the sprint phase can be defined as the implementation of functionality to execute against a pre-defined set of test cases instead of the more traditional set of specifications or problem statement.
• TDD can lead to more modularized, flexible, and extensible code. The methodology requires that the developer think of the software in terms of small units that can be written and tested independently and integrated together later.
Basic TDD Cycle

Unit Test Drivers

The most primitive cycle for TDD involves the automation or semi-automation of the generation and execution of unit test drivers. Programming language such as Java, C++ and Perl as well as IDE such as Eclipse or Visual Studio provide support for integrating unit test frameworks.
Fig. 1 Representation of Basic TDD Cycle

The key tasks in the TDD methodology are:
1. Product management defines the new features or improvement to implement
2. Architect or senior developer define an interface (declarative) that fulfill the use case
3. Engineers create a unit test driver to test the feature
4. Engineers implements a first version which is tested against the test driver
5. The implementation is subsequently refined then re-tested incrementally
6. At each increment engineer(s) may upgrade the original design through refactoring

Automation

One well documented concern regarding this methodology is the effort and cost required to create detailed unit test code. Consequently, a commitment to automate part of the unit testing cycle is essential to the overall adoption of TDD.

The two key elements of an automated TDD strategy are:

• Automated test generation: The team should investigate and adopt framework or IDE that support the generation of unit test code from a declarative interface
• Automated test execution: The test code should be automatically compiled and executed as part of the build and regression test process.

Extending the TDD Process
Product or System Testing
Most of TDD practitioners focus on unit test driver with or without automation. However, the concept can be extended to product testing as long as interfaces are clearly defined and a test scripting engine is available. The engine should be able to generate sequence of actions or traffic which simulates the user interaction with the overall product or any of its components such as GUI, database or web servers.
The typical client test engine generates:
o Graphical actions and events through a record and replay mechanism
o Command line request
o SQL, HTTP or TCP traffic or packets
Fig. 2 Representation of Extended TDD Process

Here are the steps:
1. Product management defines the new set of features or improvement to implement
2. Use cases are created to describe the basic sequence
3. Architect specifies the set of programming or graphical interface functions
4. QA engineers rely on use case to create test cases and test scripts
5. Unit test drivers are created from the user cases and programming interface
6. Engineers implements a first version or draft which is validated (failed in the first couple attempts) against the test scripts and unit test drivers
7. The implementation is incrementally refined and re-factored as necessary
8. The product is then tested against the test scripts following the integration phase.

Refactoring

Refactoring is a key element of any agile process including TDD methodology. A trend analysis of the evolution of the design and implementation through successive refactoring iteration may give a hint on the probability to reach a stable architecture or component. It is quite conceivable to add design review of the component design during the development cycle to evaluate the stability of the implementation.

Integration with SCRUM

Test Driven Development is the greatest asset to come out of the agile movement. Significant quality and productivity gains are made by using TDD. Hence it is very rapidly spreading through development circles. However, the engineering teams who already practicing agile process such as SCRUM need to reconcile their existing practice with TDD.
By providing a framework to automatically validate incrementally production code against predefined unit test drivers, TDD allows to extend the purpose of sprint as converging the implementation to pass the test harness and add critical quality metrics (ratio of code coverage and passed test) to the monitoring dashboard.
Fig.3 Overall SCRUM agile process with TDD integration points

Conclusion

"Based on the findings of the existing studies, it can be concluded that TDD seems to improve software quality, especially when employed in an industrial context. The findings were not so obvious in the semi industrial or academic context, but none of those studies reported on decreased quality either. The productivity effects of TDD were not very obvious, and the results vary regardless of the context of the study. However, there were indications that TDD does not necessarily decrease the developer productivity or extend the project lead times: In some cases, significant productivity improvements were achieved with TDD while only two out of thirteen studies reported on decreased productivity. However, in both of those studies the quality was improved."
 

References

  • en.wikipedia.org/wiki/Test-driven_development

  • searchsoftwarequality.techtarget.com/.../test-driven-development

  • citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1

  • www.acm.org/src/subpages/gf.../DavidJanzen_src_gf06.pdf

  • https://www.ibm.com/developerworks/mydeveloperworks

  • www.methodsandtools.com/archive/archive.php?id=20

  • www.webopedia.com/TERM/T/test_driven_development.html   


Sunday 12 August 2012

TIME AND MOTION STUDY

AN IMPACT TIME MOTION STUDY ON SMALL MEDIUM ENTERPRISE ORGANIZATION



      ABDUL TALIB BON,

  ALIZA ARIFFIN



ABSTRACT:

          The purpose of this research is to improve production capabilities for Small Medium Enterprise (SME) industry. Research focused on SME, which produce chili sauce. This research used Time and Motion technique to improve work process at SME, and the research objectives towards accomplished this study is to identify problems in the production work process and improved it in terms of production time, number of process and production layout by proposing an efficient work process to SME.  

1.     Introduction



1.1 Background of Study

Small Medium Enterprise or SME Industry consists of small numbers of employees and annual turnover.  There can categorize into three criteria primary agriculture, manufacturing and services.  One of the SME Industry was SME that produces sauce. The small of its enterprise caused difficult for them to competing with other firmed companies such as Jalen, Kimball, Maggie and Life. Thus, this research takes initiative to used Time and Motion technique to improve the work process in order to permit them to compete with international rivalry.


1.2 Objective of Study

The objective towards accomplishing the study are :

(i)       Using the time and motion study to identify problems in the production work process.

(ii)   Improving the work process in terms of production time, number of processand production layout by proposing the new work process to SME.

1.3 Scope of Study

The scopes of this research are:

(i)      This study concentrates on Small Medium Enterprise (SME) Industry, SME
(ii)    The scope of study is the work process in producing chili sauce that contains   5kg for each bottle.
(iii)    The research is focused on time and the flow of work process in production department from the start until it produces finish products
(iv)    The data that needs to be carried out in this study is flow chart of the work process, the details for each process, the required time for specific process, number of employees, distance and number of products that they produced in specific time.

1.5 Benefits from this study

This study was chosen because it will give many benefits to production and operation management. Among the advantages for SME in producing their sauce are:

(i)      Eliminate the Unnecessary
(ii)    Change the Sequence of Operations
(iii)   Simplify the Necessary Operations


2. Research Methodology

2.1 Research Design

This research was conducted through field study.  Field study is all the methods of research are made from direct observations towards the live study situations.   Researcher collected data by observing and recorded the research subject during the observation. 

2.2 Variables

The variables in this study can be classified into two types,  
  • independent (time and motion technique and 
  • dependent  variable (an impact in the work process for producing sauce)

2.3 Basic Procedure for Research
There are four steps to complete this study.  There are given below according to their sequence :
(i) Select:  select the process or job to be studied.
(ii) Record:  observe and record all the relevant facts related to the work process.
(iii) Examine: examine each recorded fact critically
(iv) Develop:  develop the most efficient work process.

2.4 Data Collection

This research requires to collect data that are related to the time during the work process occurs, the movement or distance for each process and number of products that they can produces in specific time, which was collect based on several methods :

(i)   Systematic Observation  (ii) Stopwatch Time Study  (iii) Process Chart


3. Data Analysis and Outcomes

3.1 Data Collection

Data collection is done to determine the data required for building the process design.  The data collected can explain how the process operates, when, where and how the activities takes place. The data was included :

  1.   flow chart for the process
  2.   the detail operation for each process
  3.   production time
  4.   layout
  5.   the motion from one process to another process

3.2 Work Process

Based on systematic observation, we know that there are seven main work processes in producing chili sauce.  Each work process included minor process.  The process started with cleaning the raw material, mixture, cooking, filling, labelling and the end process is packaging the sauce into four bottles for each.

3.3 Work Process Operations

Overall process takes as much as twenty five processes and each process can be summarized as operation, transport, inspection, delay or storages. Numbers of operation in producing chili sauce  is fifteen processes or 60% from the entire processes. Among the operations process are cleaning  the  raw  material,  blend,  mixture,  cooking  and  packaging.

3.4 Production Time

Production department is the functional area responsible for turning inputs into finished outputs through a series of production processes. The data was taken by using stopwatch time study and recorded in the Process Chart form on its process and production layout for making work more efficient.
Based on its owner, the whole process will be completed in the period of four hours.  But, based on data collected, it is more than four hours with the total time is 4.10 hours and it indicates that they are not punctual in producing their products.  Thus, these analyses are important in order to identify improvement opportunities in the production department.

3.5 Statistical Analysis of Data

In a simulation model, raw data that has been collected must be analyzed and interpreted, so the system operation is correctly represented in the model.  Prior to developing a representation of model, the data should be analyzed to ascertain their  suitability for use in the simulation model. 

3.5.1 Stat: Fit Software

Besides that, the data were also tested with Kolmogorov Smirnov as normality test to decide whether the data will be accepted or rejected.  If the value greater than 0.05, means the data will suitable to run the simulation.  Table 2 shows the data testing for each process using Stat::Fit.

Table 2: The Data Testing for Each Process
Process
Distribution
Rank
Acceptance
Cooking
Exponential
98.7
Do not reject
To steam area
Lognormal
100
Do not reject
Steam the material
Triangular
86.5
Do not reject
To filling tank 1
Exponential
100
Do not reject
To filling tank 2
Lognormal
100
Do not reject
To labeling (F1)
Triangular
100
Do not reject
To labeling (F2)
Lognormal
100
Do not reject


3.6 Actual Production Layout

An effective layout facilitates the flow of materials, people and information within and between areas.Actual production layout takes 54m² space utilization and the production layout must be analyzed because layout is one of the key that determine the long-run efficiency of work process.  Based on observation and data collection, there are find that layout is one of the factors that contributes to the delay in production.  Based on current production layout, we can see that the layout lacks in the arrangement of machine and equipments especially at filling tank 1 and filling tank 2, where it involves packaging processing.  The arrangement of packaging equipments is not suitable because it utilizes more space in the production. Thus, as a consequence, these situations caused the excessive in the production time in producing the products.

4.0 Discussion And Conclusion

4.1 Recommendation to Enterprise

It can be conclude that the problem occurs in the work process are related to production time, where it takes extra time in producing its products and from the analysis, we know that the problems may occur in the packaging activities because of the arrangement of its filling tank machine. Thus, the fact that related in this identified problems are :

  •   Number of process
  •   Production time
  •   Production layout

From the observation, data collection and data analysis, then, researcher develops the actual simulation to identify the problems. The comparison between the current work process and new work process explained in Table 3.


Table 3: The comparison between the current and new work process

Current layout
Proposal I
Proposal II
Number of Process
7
5
5
Time utilization (hour)
4.10
3.41
3.45
Space utilization (m2)
                54
44.4
46.8


                An effective layout facilitates the flow of materials, people and utilizes the minimal area.  An effective layout can also help and  support an enterprise to achieve some improvement. A good layout results in a streamlined flow with minimal movement thus minimizing material handlingThe changes of equipment arrangement will help to solve the current work process problem.  The machine and equipments are arranged according to the sequence of operations because it is a continuous work process. 

4.2 Recommendation for Future Research

There are several affairs that must be attended during collecting data.  The data collections are the important part for analyzing and obtain accurate outcomes.  Among the recommendations are :

  •   All the machines or equipments that are found in the production layout needs to measure their dimension in order to develop accurate actual layout.
  • All matters that are related to distance between processes needs to record to obtain useful comparison.
  •  Collection of operating time must be recorded in more systematically to prevent error or mistake during data analysis.

4.3 Limitation

The limitation in performing the proposed work process is the new work process only can reduce the total production time and space utilization, which cannot enhance the number of products.

4.4 Conclusion

From the discussion of the three parameters, it can be concluded that this process can be improved based on the three parameters that cause the problems.  With combination of work process and time measurement and the changes of production layout, it will improve the current work process.  These modifications are made by eliminating the wasted time and reduction of the work contents. From the comparison between current and new work process in table 5.1, it indicates that the best alternative towards this problem by choosing proposal 1.These improvements was successful to achieve the project goals and objectives, which the improvements was included the processes, production layout, economy in human effort and the reduction of unnecessary fatigue.


4.5 Pro Model Software

Pro Model software works as simulation tools for developing a system design.   The developed model acts as a surrogate for the actual or real-world system.  Knowledge gained from experimenting on the model can be transferred to the real system.  In this respect, simulation can be thought of as a virtual prototyping tool for demonstrating proof of concept.

4.6  Contribution to Enterprise

The contribution of ProModel software to the enterprise is, it can develop a new system design and stimulate the model in order to find their flow.  The concept is much easier rather than the traditional approach because a new design of work process can be developed much easier and it can actually show how it will operate.  

REFERENCES:


·  Ann Hendrich, Marilyn Chow, Boguslaw A. Skierczynski, Zhenqiang Lu (2008).
A 36 – Hospital Time and Motion Study : How Do Medical Surgical Nurses Spend Their Time. The Permanente Journal Summer, Vol 12 No.3.  Pages 25 – 34
·  B. Kumar (1999). Industrial Engineering. Khanna Publishers, Delhi
·  Brian Price (1989).  Frank and Lillian Gibreth and the Manufacture and Marketing of Motion Study, 1908 1924.
·  Business and Economic History, Second Series, Volume Eighteen, 1989 Business History Conference ISSN 0849 –  6825
·  Eok Su Sim, Hyoung Gon Lee, Jung Chul Lee, Jin Woo Park (2004).  Efficient Work Measurement System
·  Manufacturing Cells Using Speech Recognition and Digital Image Processing Technology. International Journal
·  Fred E. Meyers (1992).  Motion and Time Study Improving Work Methods and Management. Prentice Hall Inc
·  Ralph M. Barnes (2001). Motion and Time Study – Design and Measurement of Work. Seventh Edition. John Wiley and Sons Inc