Sie sind auf Seite 1von 53

O probe

A
PROJECT REPORT
ON
“SAP Testing Using Automation”

AT
QuickTest Automation
BY
Abhijeet Sambhaji Kale.
Under the guidance of
Prof. Rajesh K Hukre.

Submitted to
SAVITRIBAI PHULE PUNE UNIVERSITY
In partial fulfillment of the requirement for the award of the degree of
MASTER OF BUSINESS ADMINISTRATION (MBA)

Shri Shivaji Maratha Society’s


Institute of Management and Research, Pune 411009
(2018-2020)

1
C2 General
Declaration
I Abhijeet Kale, hereby declare that the Project report entitled “SAP testing using
Automation" submitted by me to the Savitribai Phule Pune University in partial fulfilment of
the requirements for the award of the degree of Master in Business Administration is a record
of original SIP work done by me, under the guidance and supervision of Prof. Rajesh Hukre.

Place: Pune.
Date:
Abhijeet Kale

C2 General
QuickTest Automation, India
Besides Four Points Hotel, Nagar road, Vadgaon Sheri, Pune 411014

CERTIFICATE

This is to certify that Mr. Abhijeet Sambhaji Kale have successfully completed two months
(From 01st June, 2019 till 31st July, 2019) internship in SAP Testing at QuickTest Automation.

His internship activity includes familiarizations to all the testing operations and processes

and management overview involved.

During the period of his internship he demonstrated good design skills with a self-motivated
attitude to learn new processes. His performance exceeded expectations and was able to
complete the project successfully in the given tenure.

We wish him all the best for his future endeavors.

R.P.Sinha

(Project Manager)

Regd.Office:

QuickTest Automation,

Besides Four Points Hotel, Nagar road, Vadgaon Sheri, Pune 411014.

C2 General
Shri Shivaji Maratha Society’s
I NSTITUTE OF M ANAGEMENT & R ESEARCH
Sr.No.74/1 A,74/1 B, Aranyeshwar, Pune.  : (020)-24222612
E-Mail: director@ssmsimr.edu.in, Website: ssmsimr.edu.in

CERTIFICATE
This is to certify that, Mr. / Ms./Mrs……………………………………………………………………………….

Is a Bonafide student of our Institute.

He/ She has successfully completed a Summer Internship Project titled as

……………………………………………………………………………………………………………………………………..…

………………………………………………………………………………………………………………………………………..

This project work was carried between

………………………………………………………….To ……………………………………………………………………….

During Academic Year 2019-2020

Project Guide Director

Seal of the Institute

C2 General
Shri Shivaji Maratha Society’s
I NSTITUTE OF M ANAGEMENT & R ESEARCH
Sr.No.74/1 A,74/1 B, Aranyeshwar, Pune.  : (020)-24222612
E-Mail: director@ssmsimr.edu.in, Website: ssmsimr.edu.in

CERTIFICATE

This is to certify that, Mr. / Ms. /Mrs.


………………………………………………………………………... Is a
Bonafide student of our Institute.

He / She has successfully completed dissertation on the Topic


………………………………………………………………………………………

………………………………………………………………………………………

During Academic Year 2019-2020.

Project Guide Director

Seal of the Institute

C2 General
Acknowledgement

I am using this opportunity to express my gratitude to everyone who supported me throughout


the course of this MBA project. I am thankful for their aspiring guidance, invaluably constructive
criticism and friendly advice during the project work. I am sincerely grateful to them for sharing
their truthful and illuminating views on a number of issues related to the project.

I express my warm thanks to Mr. Sinha for their support and guidance at QuickTest Automation
India.

I would also like to thank my project guide Prof. Rajesh Hukre and also Director Dr. Tushar
Dagade who provided me with the facilities being required and conductive conditions for my
MBA project.

Thank you,

Abhijeet Kale.

Place: Pune.

Date:

C2 General
INDEX
Sr. Page
CHAPTER SCHEME
No No.
1 EXECUTIVE SUMMARY 8

2 INTRODUCTION 10

3 OBJECTIVES AND SCOPE OF THE STUDY 15

4 COMPANY PROFILE 16

5 PRODUCT PROFILE 18

6 RESEARCH METHODOLOGY 19

7 THEORETICAL BACKGROUND 25

8 NEED FOR STUDY 36

9 DATA ANALYSIS AND INTERPRETATION 39

10 FINDINGS OF THE STUDY 43

11 LIMITATIONS OF THE STUDY 44

12 SUGGESTIONS 45

13 CONCLUSION 46

14 ANNEXURE 47

15 BIBLIOGRAPHY 53

C2 General
EXECUTIVE SUMMARY
The study of “SAP testing using Automation” proves its importance in the current scenario of the
business organization. Testing is a significant phase carried out before making the product live.
During my internship I learned that quality assurance plays a vital role in accomplishing the
expectations and demands of the clients. It helps in saving costs as well as fixing the errors
before they become major issues. Thus, it is useful in maintaining quality standards. If quality
assurance is done perfectly, it is useful in providing confidence, testing the product.There is a
wide array of reasons why quality assurance is considered to be effective for your business.
SAP being huge applications implemented across various organizations to maintain their
business and carry out the general operations smoothly. SAP system consists of a number of
fully integrated modules, which brief of this report is mentioned in this executive summary
section.
Primary Objective:
 Study and Analysis of the SAP Application and it’s testing techniques at QA
Automation.
Secondary Objectives:
 Technical study of the testing methodology.
 Functional understanding of the SAP application.
 Future scope of Automation.
Advantages of Testing:

 SAP enables smooth functioning of the day-to-day business.


 Hence, testing of this application ensures error free use in business.
 Automation testing technique helps reducing the manual monotonous work.
Limitations of Testing:

 May not detect errors in the requirements.


 Incomplete or ambiguous requirements may lead to inadequate or incorrect testing.
 Time and budget constraints normally require very careful planning of the testing effort.

Testing has gone through considerable state of modernization during last decade and there is still
a tendency to move it farther upstream in the development process. Other than the mechanisms
of verification, validation, inspection and reviews; testing is still an important and relied
technology to identify errors in the software product and then referring those errors back to the
development process for fixation.

C2 General
Findings of the study:

 Studied and analysed the functionalities of the SAP application.


 Understanding the technical techniqies of application and it’s testing.
 Study of the future scope of SAP in IT industry and its importance of testing.
 We could find that SAP is an important aspect for analyzing the reports of the company.
 SAP data helps us in recognizing the financial position of the company.
 The organizations current profit/loss position could be projected to the related authorities
by using the reports produced using SAP.
 For the smooth functionalities of these application for SAP reports, we could find that the
testing of such processes is significantly important.
 We could find and explore various technical techniques for testing.
Suggestions:
 Goal of effective testing is to reveal high severity errors as early as possible. In reality
this is not completely possible but planned efforts to tackle this issue can considerably
reduce the severity of this issue.
 You must recognize and segregate your test cases for regression testing. A quick and
effective regression testing is beneficial for the quality assurance.
Understanding the overview, we could come to the following conclusion:
 When application quality is good, it will last longer and will perform resourcefully even
if pressed to maximum capacity. Also, software can be configured so that it will operate
well even when conditions are less than optimal.
 Regression testing would ensure proper functioning of the existing features of application
after the bug fixes.
 Testing can also improve overall security, but testing is not a simple process.
 Testing verifies how the user can work with the application and ensures that the end
product is easy to use and does not contain features that may mislead users.

C2 General
INTRODUCTION
Study of ‘SAP Testing using automation’ ensures that the application functions as expected
without any errors and is tested using minimal resources. Although new ways of software
inspection are invented like code reviews, requirements analysis, change impact analysis, peer
reviews etc; still testing is the main source of software quality assurance. It consists of not just
running a test but it covers test case designing, expected outcomes, test case modeling, real test
data preparation and requirement verification.
However it must be clarified that software quality assurance in itself is an umbrella activity and
covers all phases of software development life cycle (SDLC) whereas testing is one phase of the
whole SDLC.
Since testing is the phase which is heavily relied by different development phases to ensure
software quality, so this report focus more on the improvements in the testing phase of software
development which is the process of executing software to assure its correctness with respect to
specification.
Any deviation from specification is termed as defect or failure and is determined by compared
vs. intended behavior of the system. Deviations from specification identified during in-house
inspection are termed as defects while deviations reported during or after deployment process are
called failures.
It is always difficult to claim with surety about the quality of the software and that it will never
fail during its real time execution. Thus any testing is performed on the basis of structured
sampling where testers choose scenarios with a combinative set of input values. Too often this
selection process is based on gut feeling, domain knowledge and professional experience.
Testing is divided into two main areas black box testing and white box testing. Black box testing
is highly dependent on functional specifications while white box testing is dependent on
implementation details like algorithms, data structures, path testing etc. However, it is possible
that white box testing may seek guidelines from specifications to verify execution paths.
In SAP Testing we use the black box testing as the coding and algorithm part is looked after by
the ABAP developers. Hence the testers are not aware about the codes written for the application
under test.
This report covers specification based testing approach so; black box testing will be main area of
discussion in this report. Idea behind this approach is that instead of generating test cases from
traditional specification document, use case model can be used as an effective tool for the
generation of test cases.
Goal is to form a simple, modifiable and easy to understand testing strategy that helps
stakeholders in defining the interactions and dependency levels among test sets.
Once the development phase is completed, developers and testers face the challenges of
deployment issues and acceptance testing. Testing team is always at odds to promise
commitments like what is brought into testing is actually testable.

10

C2 General
The key features of SAP are:

 Data is maintained at a central location and is shared with various Departments.


 Departments have access to information or data from other Departments.
 A centralized mechanism is in place for audits and reporting.
Testing using Automation:
Every software development group tests its products, yet delivered software always has defects.
Test engineers strive to catch them before the product is released but they always creep in and
they often reappear, even with the best manual testing processes. Test Automation software is the
best way to increase the effectiveness, efficiency and coverage of your software testing.
Manual software testing is performed by a human sitting in front of a computer carefully going
through application screens, trying various usage and input combinations, comparing the results
to the expected behavior and recording their observations. Manual tests are repeated often during
development cycles for source code changes and other situations like multiple operating
environments and hardware configurations.
Automated software testing is important due to the following reasons:
 Manual Testing of all workflows, all fields, all negative scenarios is time and money
consuming
 It is difficult to test for multilingual sites manually
 Automation does not require Human intervention. You can run automated test unattended
(overnight)
 Automation increases the speed of test execution
 Automation helps increase Test Coverage
 Manual Testing can become boring and hence error-prone.
Using the automation tools like UFT, Tosca, selenium we can automate the functional test cases
so as to reduce the execution time required.
SAP supports automation as it has a feature which enables the external scripting tool to interact
with its database and GUI. We create several use case in maintain them in a centralized test
management portal. These test cases are linked with the requirements received from the client.
Requirements traceability is used to ensure that each step in the development process is correct,
is in accordance with the needs of prior steps and is not redundant or superfluous. One major
objective of requirement traceability is to develop software that meets the user expectations. This
is possible because there is relation between each requirement and artifact in the system so it
becomes possible to know whether every thing is being developed against requirements.
Although a strong trend in industry these days is requirements traceability to artifacts like design
documents, source code etc. Another important area is requirements traceability to test cases.

11

C2 General
As test cases are written directly or indirectly alongside requirements, therefore exploring links
between requirements and test cases is a good approach to get better test case coverage.
Maintenance cost of software project can even be more than actual cost of software
development, in some cases exceeding to 70% of total cost. This is because of the large number
of faults in the software. One reason of this problem is negligence of the relationship between
requirements and other artifacts like test cases.
We should consider the below pointers mentioned in the below diagram while moving towards
automation:

12

C2 General
Scope of Automation in SAP:

 Test automation is the most efficient and effective means of SAP test execution as the
scope is getting broader day by day.
 In coming years, automation tool would be a key asset for the company to execute the
SAP scenarios in test environment.
 SAP data preparation being a huge task, could be done completely via automation tool,
thereby reducing the time invested in this activity.

The objectives of this study are discussed below:


Primary Objective:
 Study and Analysis of the SAP Application and it’s testing techniques at QA
Automation.
Secondary Objectives:
 Technical study of the testing methodology.
 Functional understanding of the SAP application.
 Future scope of Automation.
The primary and the most important thing to ensure in testing is to make the product bug-free
and check whether the functionality is working as expected. Measuring and testing the
performance of the system to generate the output after providing the valid inputs is also a
significant step to be considered while testing.
The secondary scope consists the undertanding of the technicalities of the tool used to test the
application under test, as this would ensure that all the features are used correctly and are having
wider test coverage. The reusability is an important concept which should be considered while
automating any of the test script.
Along with the technicalities, the tester should also be well aware about the application which he
is testing. SAP being a vast application, needs to be disintegrated into smaller modules and
understood accordingly.
As discussed above, SAP is vast application and would require thousands of test cases to be
tested to ensure proper functioning. Hence, test automation is the most efficient and effective
means of SAP test execution as the scope is getting broader day by day.
Literature Review:
Basic concepts of STLC needs to be understood while testing the SAP application.
STLC stands for Software Testing Life Cycle. STLC is a sequence of different activities
performed by the testing team to ensure the quality of the software or the product.

13

C2 General
STLC has the following different phases but it is not mandatory to follow all phases. Phases are
dependent on the nature of the software or the product, time and resources allocated for the
testing and the model of SDLC that is to be followed.

A Literature review is a description of the literature relevant to a particular field or topic. The
literature review is like a proof that what we are going to talk about in our report, is important
and makes sense. It is a review of a single or multiple documents. It is a compendium of different
articles that will establish the true importance of our study. I have been referring multiple
internal training documents available in the organization along with the information available on
various sites.The literature review’s purpose is to extend the topic for more horizons of
understanding.

14

C2 General
OBJECTIVES AND SCOPE OF THE STUDY

 Study and Analysis of the SAP Application and it’s testing techniques at QA
Automation.
 The main objective of this study is to make sure the SAP modules are working smoothly
as expected without any bug or errors.
 To produce high quality software both software developers and testers need continuous
improvement in their work methodologies and processes. So, far much work has been
done in the effective ways of eliciting and documenting the requirements.
 Important aspect is to make sure that whatever is documented in specifications actually
works correctly in the developed software. Software testing is done to ensure this
phenomenon.
 Aim of this report is to develop a software test case work flow strategy that helps in
identification and selection of suitable test paths that can be used as an input to
acceptance testing and as a pre-requisite to start actual testing of the system.
 This report focuses on organizing system test artifacts by closely specifying them with
system requirements and use cases.
 A structured way to design test cases is proposed with the help of use cases.
Some work is done to trace user needs to system requirements and use cases and benefits of
using use case modeling approach in structuring the relationships among test cases is
analyzed.
As test cases are subject to changes in future so, challenges imposed due to traceability among
requirements, use cases and test cases are main subjects of this work along with the challenges
faced by software testers to perform application acceptance testing.

15

C2 General
COMPANY PROFILE
As an ISO 27001:2013 certified, SOC II and HIPAA compliant organization, for
over a decade, QuickTest Automation have been helping clients across the globe
release high-quality software products to the market on -time and within budgets.
With the state-of-the-art infrastructure in their Centers of Excellence, Test labs and continuous
investment in building IPs/Accelerators, they deliver mission-critical testing solutions tailored to
client’s business requirements with a dedicated team of over 400 skilled and experienced QA
professionals in US and India.
The company understands their client’s objectives and challenges and tailor their testing
solutions to address those challenges in a timely and cost-effective manner.
QuickTest Automation strive to help their clients enhance their operational efficiencies, reduce
time to market, increase credibility and improve customer retention, thereby delivering them a
competitive advantage.
QuickTest Automation was founded in 2002 and continues to grow 20% to 50% every year. The
company believe in forming strong partnerships and specialize in software quality assurance.
It is a comprehensive QA provider that has successfully completed hundreds of QA
engagements. The company provides full software testing services for organizations of all sizes.
Their top-quality software engineers are experts in all types of software testing.
The major product of the company for testing is SAP application, which is widely used across
various organizations. QuickTest Automation have managed to achieve maximum test coverage
through top trending automation tool.
The company has a vision to become World's Most Trusted & Largest QA and Software Testing
Company.

16

C2 General
Vision of the company:
Be the most trusted partner in software testing by accelerating delivery with high quality through
automation, continuous innovation and collaboration in an open environment. We aspire to be a
company preferred by our clients based on the excellence and quality of our solutions and
services.
Misson of the company:
We are committed to continuously increase the success of our clients by creating innovative
solutions and delivering services of the highest quality.
We, at QA Automation are committed to satisfy our customers by delivering quality products
and services for control and automation in scheduled time.We achieve this by adopting quality
management systems, and adopting continual improvement plans.
The company offers the below services:
SAP Automation: We provide end-to-end automation solution for SAP GUI and SAP FIORI.
Industrial Automation: We provides m2m and remote monitoring solutions.
Industrial Control: We are specialist in industrial control & Process automation Project
Engineering and Consulting Services.
Functional tests: We provide functional testing and consultation for quality outputs.

17

C2 General
PRODUCT PROFILE
QuickTest Automation is one of the top QA service provider in India leading in SAP and web
based technology. With the proliferation of Internet, ERP systems like all the domains of
Information Technology have known an important evolution. This final reportproject is a study
about the evolution of ERP systems, more precisely about their migration to the Web giving birth
to a new generation of systems: the Web-Based or Web-enabled ERP systems.
This migration to the Web is justified by the difficulty of making possible the communication
between partner’s legacy systems and the organizations’ ERP systems. A historica l evolution of
these systems is presented in order to understand the reasons that lead vendors to adopt the Web
Service Technology. Based on different studies, the main technologies such as Web services,
Service-Oriented Architecture and Web Application server are also presented.
Currently the main objective of any organization is to be competitive in its market. However
staying in the race includes essentially two points: the customer satisfaction and the profit
increase. For achieving these aims it is fundamental for the managers to be able to get the right
information in short delay that means an efficient management of the information flow trough
the business components of the company.
History of product: Until the 90s implementing ERP systems appeared as the miraculous
solution but soon it appeared that these systems didn’t offered enough capabilities. So far, there
was only one platform on which different applications from different platforms communicate
efficiently without any ownership cost: Internet. Internet is an environment that runs on standard
protocols-without any owner through which so different applications exchange data.
SAP FI – Overview:
SAP FI stands for Financial Accounting and it is one of important modules of SAP ERP. It is
used to store the financial data of an organization. SAP FI helps to analyze the financial
conditions of a company in the market. It can integrate with other SAP modules like SAP SD,
SAP PP, SAP MM, SAP SCM, etc.
SAP FI comprises of the following sub-components −
 Finance Accounting General Ledger.
 Finance Accounting Accounts Receivable and Payable.
 Finance Accounting Asset Accounting.
 Finance Accounting Bank Accounting.
 Finance Accounting Travel Management.
 Finance Accounting Fund Management.
 Finance Accounting Legal Consolidation.
SAP FI consultants are mainly responsible for implementing Financial Accounting and Cost
Accounting with SAP ERP Financials.

18

C2 General
RESEARCH METHODOLOGY
Concepts:
Research can be defined as the search for knowledge or as any systematic investigation to
establish facts. The primary purpose for research is discovering , interpreting and the
development of the methods and system for the advancement of human knowledge on a wide
variety of scientific matters of our world and the universe.
Research Methodology:
It is defined as the system of collecting data for research project. Research methodology is the
pathway or an approach to get the needed information by locating the data from different sources
which are primary and secondary.
Data are facts, figure and other relevant material, which are either past or present, serving as
basic for the study and analysis. Data constitutes the subject matter of analysis. The relevance,
adequacy and reliability of data determine the quality of the study, the entire scientific process of
measurement and testing and inferences depend upon the availability of relevant and accurate
data. Two types of data are collected during the projects which mainly includes

 Primary data
 Secondary data
Primary data collection
Primary Data collection method is the method in which data is collected at first time by the
researcher.
There are many methods of collecting primary data and the main methods include:

 Questionnaires
 Interviews
 Focus group interviews
 Observation
 Case-studies
 Diaries
 Critical incidents
 Portfolios
 Discussion

19

C2 General
Secondary Data Collection:
Secondary data is the data, which has been collected for the other purpose than that of the present
study. Any data that is available prior to the commencement of research project is secondary
data, and therefore it is called Historic data. It is taken from the source like

 Web sites
 Manuals
 Reports
 Magazine
 Newspaper
Secondary data can be classified as:

 Internal Secondary Data: It is that data which is a part of company’s record, for which
research is already conducted. Internal data are those, which are found within the
organization. Example: Sales in units, credit outstanding, sales persons call reports, daily
production report, monthly collection report, etc. For my project knowledge of previous
projects, interview and consultation with employees of company is done by me.

 External Secondary Data: It is data collected by the researcher from outside the company.
For getting information about area of work of my project I mainly visited few sites,
individual project reports published, articles on marketing research and other
miscellaneous data was considered.

The Methodology used for this research would be discussed in this section. We use SAP
application for various purposes out which the major purpose is to understand the market
position of the company and reporting the same to the stakeholders.
Research methodology includes the types used for testing the Application under test and ensure
smooth functionality of processes.
We have used the Waterfall model for reserch as the requirements were noted in the initial stage
and were not dynamic.
For the testing we have used both Automation and manual testing techniques to conclude the test
results.
The data used for this research was been created on SAP using mass data creation techniques
such as MJUT which is mass journal upload template. Using this tecnique we were able to create
bulk test data which we could further use for reporting and analysis.

20

C2 General
Testing involves preparation of real data in simulated environment and to use this data as
combinational input to exercise the functionality of the system. Depending on the nature of
software, an appropriate strategy is adopted to verify different execution paths of the system. For
example for a safety critical system boundary values of the application at both user level and
code level need to be tested.
This can be ensured by following both black box and white box testing approaches. Where black
box testing is used to ensure user oriented test cases and white box testing is used to inspect the
code level checks in the system like variable outflow, loop conditions etc. Different levels of test
used by organizations are as follows:
COMPONENT TESTING:
Stand alone test cases designed specifically for individual modules are used for module testing. It
is possible that hardware specified in requirements may not be available at the time of module
testing.
Also, it is possible to carry out module testing without the availability of system interfaces. This
is due to the reason that modules not only use inputs from interfaces but interaction among
modules and function calls can also be used as input to the module.
In such cases dummy test data similar to real data is prepared for test case execution and the
outputs from modules is manually verified by code level printing or console outputs etc.
Component testing involves one or more of the following activities:
To test individual functions or methods within an object.
To test attributes and methods of object classes.
To test a set of objects that are coupled with each other and to test interfaces of these objects.
Component testing is mostly performed as a white box testing which is not in the scope of this
thesis. However, for functional testing, it is necessary for functional test cases generated at
module level to use key index of related module or use case as a reference.
This is helpful in back tracking system features, tracing errors, maintenance purpose and
selection of test cases during integration testing.

SYSTEM TESTING:
System testing is the process of testing integrated system components. In an iterative system
development, system testing is concerned with testing an increment to be delivered to customer
while in a waterfall process it is concerned with testing the entire system.
For large team projects we use distinctively two approaches for system testing i.e. integration
testing and release testing.

21

C2 General
INTEGRATION TESTING:
Integration testing is the most important phase of testing and involves careful selection of test
cases. Traditionally individual modules are unit tested and then chained up for integration testing
to verify behavior of system under full length test case execution.
Whereas unit testing involves testing of standalone software components, integration testing
focuses on issues raised during integration of these units. Another approach is to integrate
individual modules into system one by one. This approach is more popular in organizations that
built a product line approach for software development.
Some of the benefits that can be achieved in testing of one by one module integration are as
follows:
Single test specification can be used to ensure the core functionality of the system each time a
module is integrated into the system.
By focusing on a single module, all of its possible interactions with other modules can be
tested. This makes a one to many combination of testing rather than a many to many
combination of all modules integration testing.
Based on the number of faults produced and time consumed in integration testing of one
module, a general estimation can be made about the testing of other modules.
One main challenge with integration testing is that it requires a repeating testing effort i.e. first
individual modules are tested and then integration testing is performed. Also, some times
correctly running modules stop work when they are integrated.
As this integration process is a pre-requisite to start testing, so any delay in system’s operation
can stop the execution of test cases resulting in delay of system testing.
Furthermore, it is always difficult for a tester to understand the interfaces of different modules
which can leave black holes in system’s test planning.
A major problem that arises during integration testing is the identification of localized errors that
appear during the integration of components but it is difficult to identify the source of such
errors. To overcome such problems we need to follow incremental approach towards system
integration and testing.
Initially we build a minimal set of configuration and test the system. Then new components are
added to this minimal set of configuration and test for each added component is performed.
A good rule of thumb is to integrate the components first that encompass most frequently used
functionality. This means that the components with core functionality receive more testing as
there related test cases will be rew executed every time a new component is integrated to the
system.

22

C2 General
A case study of sample health care system is discussed in section8 where different software
components like scheduling, registration, patient examination, patient receipt and patient billing
are developed as separate modules.
Among these software components, registration will be the more frequently used component as
every patient first has to register into the system and all of its details like responsible party,
insurance and referral physician information needs to be provided in registration module.
So, registration module can first be integrated into system. Later comes the scheduling module
followed by patient examination, patient receipt and patient billing modules respectively. Core
idea is to integrate the modules in the descending order of their priority.
An important aspect is that some modules can not be integrated first, no matter how much
important they are, like patient billing module can not be tested until patient receipt module is
not functional.
In reality implementation of system features is spread across several components and may need
to integrate several components. In such case testing becomes a more difficult task as to test one
feature, a group of components needs to be considered.
These problems reveal that when a new component is integrated, it is important to re-run the test
cases for previously tested components as well that are affected due to integration of this new
component. This re-running of existing set of test cases is called regression testing.
Since testing faces challenges of strict time lines and limited resources so, this selection of test
cases requires careful attention. Also, testing team need to ensure that detected defects are the
result of new enhancements, or these were the existing defects in the system.
RELEASE TESTING:
Release testing is the process of testing a release of the system where requirements are much
clear in the initial phases of development.
Release testing is usually performed as black box testing where tests are derived from system
specifications. Tester is only concerned with the functionality of the system and not the
implementation details.
During test case generation tester predicts the expected output values from the system and during
test case execution he compares the actual output of the system with expected results. During
testing of system releases the main focus of tester is to use a combination of inputs along with
test cases that can break the system i.e. testing is performed with the aim of using inputs that
have a high probability of system failures. Some examples of this are:
Selection of input values that have high probability of producing system failures.
Designing input values that can result in buffer overflow for system variables.
Repeating a series of inputs many time to judge the behavior of system.

23

C2 General
Making combinations of inputs that can lead to invalid output values.
Performing boundary levels computation with results too large or too small.
In release testing best way to verify system specification is to use scenario based testing. These
scenarios are derived from requirements specifications,
functional specifications and design documents etc. Later these scenarios are converted to actual
test cases where each test case defines the procedure of executing the scenario on the system
with expected outcome from the system.
In use case based system implementation, these use cases can be used as a basis for system
testing. Operations defined by use cases for interaction among each other can be used to define
scenarios for the system and different sets of inputs can be used to test these operations.
Like, the use case to schedule a patient can be tested by using a combination of test cases with
different set of input values. Examples of scenarios designed for such use case are:
Verify that a new patient is successfully scheduled in the system.
Verify that a scheduled patient can be re-scheduled to a different slot of time.
Verify that a registered patient in the system can be scheduled by the user.
Verify that patients can not be scheduled in the system without providing mandatory field
values.
These techniques are considered important approaches to quality assurance of software
applications. Selection of these techniques vary from project to project depending on the nature,
development model, deployment plans etc.

Findings of the study:


• Studied and analysed the functionalities of the SAP application.
• Understanding the technical techniqies of application and it’s testing.
• Study of the future scope of SAP in IT industry and its importance of testing.
• We could find that SAP is an important aspect for analyzing the reports of the company.
• SAP data helps us in recognizing the financial position of the company.
• The organizations current profit/loss position could be projected to the related authorities
by using the reports produced using SAP.
• For the smooth functionalities of these application for SAP reports, we could find that the
testing of such processes is significantly important.
• We could find and explore various technical techniques for testing.

24

C2 General
THEORETICAL BACKGROUND
Software Testing Methodology is defined as strategies and testing types used to certify that the
Application Under Test meets client expectations. Test Methodologies include functional and
non-functional testing to validate the AUT.
Examples of Testing Methodologies are Unit Testing, Integration Testing, System Testing,
Performance Testing etc. Each testing methodology has a defined test objective, test strategy,
and deliverables.
In this project report, we would be discussing about the waterfall model which is widely used for
larger projects.
Since Software Testing is an integral part of any Development Methodology, many companies
use the term Development Methodologies & Testing Methodologies colloquially.
Hence Testing Methodologies could also refer to Waterfall, Agile and other QA models as
against the above definition of Testing Methodologies.
Discussion on various testing types does not add value to the readers. Hence, we will discuss the
different development models.
Tyep of models are:

 Waterfall Model.
 V model.
 Agile model.
 Spiral model.
 RAD.

25

C2 General
Waterfall Model:
This is the most basic software development life cycle process which is followed broadly in the
industry. In this model, the developers follow a sequence of processes downwards towards the
ultimate goal. It is like a waterfall where there are various phases involved.
This approach is useful when requirements are well known, technology is understood and the
resources with required expertise are available.
The first phase in the waterfall model is the requirements phase in which all the project
requirements are completely defined before starting the testing. During this phase, the test team
brainstorms the scope of testing, test strategy and drafts a detailed test plan.
Only once the design of software is complete, the team will move on to execution of the test
cases to ensure that the developed software behaves as it expected.
In this methodology, the testing team proceeds to the next phase only when the previous phase is
completed.
The waterfall process is illustrated in the below diagram:

26

C2 General
Advantages of Waterfall Model:
o Simple and easy to understand.
o Easy to manage as each phase has its own specific deliverables.
o Overlapping of stages is avoided.
o Good for small projects.

Disadvantages of Waterfall Model:


o Increase in the amount of risk and uncertainty.
o Once entered into Testing phase, cannot change anything in the previous stages e.g
Design and Coding etc.
o Not good for complex and large projects.
o Not suitable where the requirements keep changing.

Every software developed is different and requires a suitable SDLC approach to be followed
based on the internal and external factors. Some situations where the use of Waterfall model is
most appropriate are:
o Requirements are very well documented, clear and fixed.
o Product definition is stable.
o Technology is understood and is not dynamic.
o There are no ambiguous requirements.
o Ample resources with required expertise are available to support the product.
o The project is short.

27

C2 General
V Model:
V Model is an extension of Waterfall Model where the process execution takes place in a
sequential style in V-Shape and is also known as Verification and Validation Model. In this
approach, there exists a directly associated testing phase in every single phase of the
development cycle.
It has been proven beneficial and cost-efficient than the waterfall model as the testing is
performed at each development phase rather than at the end of the development cycle.

V Model is classified into 3 Phases:


o Verification Phase
o Coding Phase
o Validation Phase

Verification Phase:
Business Requirement Analysis: Communicate with the customer to understand their
expectations and requirements.
System Design: Design complete system and its components along with the hardware and
software requirements.
Architectural Design: In this phase architectural specifications are captured. This also known
as high- level Design.
Module Design: This is also known as Low-Level Design, Detailed internal design for all the
specified system modules.

Coding Phase:
This phase contains actual coding phase in the development lifecycle. Programming
languages should be chosen based on the system and architectural design specified in the
previous phase technology platform. Coding is performed according to the standards and
guidelines that are pre-defined.

28

C2 General
Validation Phase:
Unit Testing: Performed on an individual module to eliminate the bugs at the early stage.
Integration Testing: Performed to test the communication between different modules in the
system.
System Testing: System Testing is performed on a system as a whole.
Acceptance Testing: This is associated with the business requirements. It is performed in a
user environment from the user’s point of view.

The following diagram illustrates V-Model.

V- Model application is almost the same as the waterfall model, as both the models are of
sequential type. Requirements have to be very clear before the project starts, because it is
usually expensive to go back and make changes.
This model is used in the medical development field, as it is strictly a disciplined domain.

29

C2 General
Advantages of the V-Model:
o This is a highly-disciplined model and Phases are completed one at a time.
o Works well for smaller projects where requirements are very well understood.
o Simple and easy to understand and use.
o Easy to manage due to the rigidity of the model. Each phase has specific deliverables
and a review process.
Disadvantages of the V-Model:
o High risk and uncertainty.
o Not a good model for complex and object-oriented projects.
o Poor model for long and ongoing projects.
o Not suitable for the projects where requirements are at a moderate to high risk of
changing.
o Once an application is in the testing stage, it is difficult to go back and change a
functionality.
o No working software is produced until late during the life cycle.

The following pointers are some of the most suitable scenarios to use the V-Model
application:
o Requirements are well defined, clearly documented and fixed.
o Product definition is stable.
o Technology is not dynamic and is well understood by the project team.
o There are no ambiguous or undefined requirements.
o The project is short.

30

C2 General
Agile Model:
Agile Model shows an iterative and incremental approach. This approach breaks the product into
small incremental units to provide iterations. Then each iteration involves steps like Planning,
Requirement Analysis, Design, Coding, Unit Testing, Acceptance Testing etc.
This approach also allows continuous interaction with the customer for their feedback and
corrections in the requirements at regular intervals.
Traditional software development methodologies work on the premise that software
requirements remain constant throughout the project. But with an increase in complexity, the
requirements undergo numerous changes and continuously evolve. At times, the customer
himself is not sure what he wants. Though the iterative model addresses this issue, it's still based
on the waterfall model.
In Agile methodology, software is developed in incremental, rapid cycles. Interactions amongst
customers, developers and client are emphasized rather than processes and tools. The agile
methodology focuses on responding to change rather than extensive planning.
Incremental testing is used in agile development methods and hence, every release of the project
is tested thoroughly. This ensures that any bugs in the system are fixed before the next release.

The agile methodology is illustrated in the below diagram:

31

C2 General
Advantages:
o A realistic approach to software development.
o Promotes teamwork.
o Eliminates mismatch between requirements and test cases.
o Rapid and requires minimum amount of resources.
o Suitable for large and long-term projects.
o Good for changing requirements.
o Easy to manage.
Disadvantages:
o Not suitable for complex projects.
o Requires heavy amount of interaction with the customer which may cause delay.
o Misguidance of requirements may cause the incorrect development of the software
product.
o Increased maintainability risk.
o Handover to another team may be quite challenging.

Every iteration involves cross functional teams working simultaneously on various areas like:
o Planning
o Requirements Analysis
o Design
o Coding
o Unit Testing and
o Acceptance Testing.
At the end of the iteration, a working product is displayed to the customer and important
stakeholders.

32

C2 General
Spiral Model:
The spiral model incorporates iterative development approach along with the systematic
approach of the waterfall model. It is similar to the incremental model and emphasis on Risk
Analysis.
Spiral Model has four stages:
o Planning Phase
o Risk Analysis
o Engineering Phase
o Evaluation Phase
Planning Phase: In this phase, the requirements are gathered and reviewed to finalize the test
case.
Risk Analysis: This stage includes identifying, monitoring and estimating management risks.
Requirements are analyzed to identify the risks using techniques like brainstorming, walkthrough
etc.
Engineering Phase: In this phase, the software is developed and tested at the end.
Evaluation Phase: This is the last stage where a customer evaluates the output of a project and
gives their feedback for either next spiral or approval.

The Spiral model is illustrated in the below diagram:

33

C2 General
Advantages of Spiral model:
o Avoidance of risk as it involves a high amount of risk analysis.
o Rapid Development.
o Changes in requirements are accommodated easily.
o Requirements can be acquired more accurately.
Disadvantages of Spiral model:
o Complex management.
o Not suitable for small projects.
o May involve no. of spirals(indefinite).
o Costly.
o Requires high amount of risk analysis and expertise for their project's success.

The following pointers explain the typical uses of a Spiral Model:


o When there is a budget constraint and risk evaluation is important.
o For medium to high-risk projects.
o Long-term project commitment because of potential changes to economic priorities as the
requirements change with time.
o Customer is not sure of their requirements which is usually the case.
o Requirements are complex and need evaluation to get clarity.
o New product line which should be released in phases to get enough customer feedback.
o Significant changes are expected in the product during the development cycle.

This Spiral model is a combination of iterative development process model and sequential linear
development model i.e. the waterfall model with a very high emphasis on risk analysis. It allows
incremental releases of the product or incremental refinement through each iteration around the
spiral.

34

C2 General
RAD model:
Rapid Application Development(RAD) is a type of incremental model. In this approach,
components are developed in parallel.
This is a rapid approach and it can give a fast product to the customer to provide feedback.
Phases in RAD are as follows:
o Business Modeling
o Data Modeling
o Process modeling
o Application Generation
o Testing and Turnover

Business Modeling: Identifies vital information and its flow between various business channels.
Data Modeling: Information gathered in the previous stage is used to define data objects required
for the business.
Process modeling: Data objects are converted to get business objective and flow of information.
Application Generation: In this phase, automation tools are used to convert the process model
into actual code.
Testing and Turnover: Tests all the components of a system, hence overall testing time is
reduced.
The below image illustrates the RAD model:

35

C2 General
Advantages of RAD Model:
o Progress can be measured.
o Reduces development time.
o Increased reusability.
o Quick initial reviews.
o Enhances customer feedback.

Disadvantages of RAD Model:


o Requires high skilled resources.
o High-cost estimation.
o Not applicable for cheaper projects.
o High dependency on modeling skills.
o Only a modularized system can be built using RAD.

The following pointers describe the typical scenarios where RAD can be used −
o RAD should be used only when a system can be modularized to be delivered in an
incremental manner.
o It should be used if there is a high availability of designers for modeling.
o It should be used only if the budget permits use of automated code generating tools.
o RAD SDLC model should be chosen only if domain experts are available with relevant
business knowledge.
o Should be used where the requirements change during the project and working prototypes
are to be presented to customer in small iterations of 2-3 months.

Rapid Application Development focuses on gathering customer requirements through workshops


or focus groups, early testing of the prototypes by the customer using iterative concept, reuse of
the existing prototypes (components), continuous integration and rapid delivery.

36

C2 General
NEED FOR STUDY
User tolerance for system failures have been decreasing since 1990s. It is now less acceptable to
deliver software with poor quality as compared to deliver it with higher quality after some time.
So, software companies now invest more money, time and resources on testing.
Software testing is gradually undergoing a transition towards becoming a science. In other words
testing is adopting a more formal and structured approach. Philosophy of testing is based on
requirements of the system. Therefore, test plan document and test strategy must start evolving
along with the hierarchy of specification documents.
‘Better quality means catching errors earlier; the earlier an error is caught, the cheaper it is to
fix’. Also, engineers tend to continue with iterative designs until a level of quality is reached, so
main challenge faced by industry is to achieve higher quality while delivery dates and budget
goals are still in control.
Recent advances in the field of software engineering have made development process more
efficient and reliable; still few of these processes provide strong focus on testing activities.
In the view of popular belief that the quality is not free, high quality software requires
investment. This investment is more fruitful if it is performed in the early stages of requirements,
design and testing phases to avoid later problems.
It is so important that you can not achieve quality in software unless you specify how you will
achieve this level of quality. As testing by software execution starts at the end of software
development process so, any slippage from agreed schedule leaves a worst effect on testing
timelines.
Like a project with 30 days of development and 10 days of testing may slip in development
phase for two days, consuming two days of testing phase.
In such case if test cases are executed without prioritization then it may result in poor testing and
defects that were required to be detected during testing phase are found in operation, resulting in
excessive maintenance costs and user-customer dissatisfaction.
Hence there is a need to improve quality of software without affecting cost and time constraints
of the project. Consequences become much higher when a security or safety related bug is
detected in operation.
Although defect identification of formal structured ways of test cases is higher, full path
coverage mechanism with a range of selected paths can be an efficient way of defect
identification.
Also, it is hard to improve software quality merely on the basis of using advance tools, extra
resources and time. To achieve high quality and reliability multidisciplinary approach for testing
of software systems need to be followed while consuming fewer resources in terms of time and
cost.

37

C2 General
Need for continuous improvement in software testing methods is the primary motivation of this
reportand advances in the field of use case based requirements engineering are benefited in the
development of structured test case generation.
Although software testers need to write hundreds of test cases but it is possible to come up with a
small number of test cases that reflect a major portion of application area.
Successful execution of this set of test cases will develop the confidence of stakeholders that
application development is on the right track and within defined budget and time. Main theme is
to define a hierarchical test case structure where testers choose the
most representative set of combinative paths that will ensure the path execution from parent node
to the children node. Also, any change in one test case will invoke the need to check the sibling
and parent test cases for any possible effect.
Also, it is necessary to set test case priority based on the importance of requirements, test case
complexity, test case dependency and test case volatility. This is to make sure that in case of any
slippage in development timeline, most critical test cases should already be executed in the
system. Also, test cases can be used as an effective tool of requirements impact analysis. For
example when bulk of new requirements arise, practitioners gather a set of use cases as a
prostitute to analyze the effects and scope of new requirements.
As each use case carries a number of combination test cases in the system, so they can help a lot
by saving practitioners time to make decisions. Also, test case generation from use cases can
help test team to utilize only those test cases that are directly affected by changes.

38

C2 General
DATA ANALYSIS AND INTERPRETATION
Testing has a significant role in delivering the end products to the clients, as the major risks and
issues are identified in a early stage before going live. Data being major concern while testing
complex applications, it is well prepared and organized before the testing starts.
A typical use of test case is to use the same test script for testing multiple configurations. For
instance, if you want to test a login script on three different browsers, such as Firefox, Internet
Explorer, and Safari, you can create three different test case execution records in that test case.
The major role of software testing involves that there should be no discrepancy in the software
development process. According to one survey software errors costs U.S economy 0.6 percent of
the gross domestic product and about 80% of the software development costs of a project are
spent on identifying and fixing errors.
Test Suite is a collection of test cases that are intended to be used to test a software program to
show that it has some specified set of behaviours. A test suite often contains detailed instructions
or goals for each collection of test cases and information on the system configuration to be used
during testing. A group of test cases may also contain prerequisite states or steps, and
descriptions of the following tests.
A test suit contains around 14000 test cases out of which 12000 test cases are executed using
automation framework while others are executed using traditional method.
Test Automation is possible using various tools like HP UFT, Tricentis TOSCA, Worksoft which
are paid tools, while there also are freeware tools like selenium.
The test management for the test cases is been done using the HP ALM tool.
HP ALM (Application Life Cycle Management) is a web based tool that helps organizations to
manage the application lifecycle right from project planning, requirements gathering, until
Testing & deployment, which otherwise is a time-consuming task.
The data used for this research was been created on SAP using mass data creation techniques
such as MJUT which is mass journal upload template. Using this tecnique we were able to create
bulk test data which we could further use for reporting and analysis.

39

C2 General
ALM tool is usefull for various entities involved in the test team. Below is the representation of
the uses of ALM:

Test execution is the process of executing the code and comparing the expected and actual
results. Following factors need to be considered for a test execution process − Based on a risk,
select a subset of test suite to be executed for this cycle. Assign the test cases in each test suite to
testers for execution.
The below graph represents the test case coverage according to its type:

40

C2 General
A Defect is logged during the test execution, when expected result and actual result don't match with
each other.

Defect module in HP ALM not only helps users to post the defects but also enables them to track and
gives the overall quality of the release at any stage of the development process.

The below data shows the defect status and severity of the defect:

Severity 1. New 2. In Progress 3. Fixed Ready for Retest 4. Closed 5. Rejected Total
1. Critical 1 1 2
2. High 4 1 12 1 18
3. Medium 1 5 4 6 3 19
4. Low 1 1 2
Total 1 10 6 19 5 41

Testing involves preparation of real data in simulated environment and to use this data as
combinational input to exercise the functionality of the system. Depending on the nature of
software, an appropriate strategy is adopted to verify different execution paths of the system. For
example for a safety critical system boundary values of the application at both user level and code
level need to be tested.

The above defect data is the real time defects raised as the actual results did not matched the
expected results. In such situations, this defects needs to be checked and fixed on priority before
the project release.

41

C2 General
Test coverage is defined as metric in software testing that measures the amount if testing performed
by a set of test. It will include gathering information about which parts of a program are executed
when running the test suite to determine which branches of conditional statements have been taken.
The test data used and illustrated above have the reference for around 14000 test cases out of which
12000 are been developed using the automation framework. The pie diagram is created
accordingly.
The test data can be generated:

 Manual creation of data in system.


 Mass copy of test data from production to testing environment.
 Mass copy of test data from legacy client systems.
 Automated test data generation tool.
 Mass journal upload template using excel sheets.
 Automated test data creation using various tools.

42

C2 General
FINDINGS OF THE STUDY
The software testing community plays a key role in a world that is increasingly shaped, if not
controlled, by software. The importance of testing is never more apparent than when some piece
of software is released without having undergone sufficient vetting, the results of which can be
bodily harm, large economic losses, and even diminished quality of life.
Fortunately, increasingly innovative techniques exist for testing systems in different domains,
which helps ensure software's reliability.
Each software development life cycle has passed through a set of common phases one or more
times. So starting activities early means we can catch small problems before they become big
problems later on. Starting testing activities early also provides the chance to review
requirements for important quality attributes, to ask questions and to resolve issues. There are
three different testing phases in SDLC are:
i. Test Analysis: tester tries to understand about the project.
ii. Test Design: tester design the test cases based on user requirement.
iii. Test Execution: tester execute the test cases and raise defects, if any.
Automation-powered SAP testing solution is trusted by the world’s top companies and ranked #1
by analysts because the clients see:

 90%+ reductions in manual SAP testing


 40%+ faster deliveries of custom/standard SAP updates
 75%+ savings in SAP project resource spending
Using a single solution to test across SAP, APIs, web, GUIs, mobile, mainframe, and more with
service virtualization and TDM to stabilize test automation is feasible. Automation platform can
help to accelerate testing by 90% or more. Its model-based, no-code approach is simple enough
for business users to master but powerful enough to test any SAP application or end-to-end
business process, including APIs and 160+ technologies.
The below are the highlights for findings:

 Studied and analysed the functionalities of the SAP application.


 Understanding the technical techniqies of application and it’s testing.
 Study of the future scope of SAP in IT industry and its importance of testing.
 We could find that SAP is an important aspect for analyzing the reports of the company.
 SAP data helps us in recognizing the financial position of the company.
 The organizations current profit/loss position could be projected to the related authorities
by using the reports produced using SAP.
 For the smooth functionalities of these application for SAP reports, we could find that the
testing of such processes is significantly important.
 We could find and explore various technical techniques for testing.

43

C2 General
LIMITATIONS OF THE STUDY

Software development life-cycle is a structure imposed on the development of a software


product. There are different activities involved in SDLC such as requirement, specification,
architecture, software-construction, design, software testing, debugging, deployment and
maintenance. Software testing plays a vital role in each and every phase of SDLC.

An effective and efficient testing will provide timely visibility into the quality and readiness of
the system and its input artifacts that is necessary to enable effective decision making throughout
the SDLC. In my paper, I have explained various phases of SDLC and importance of testing in
each and every phase.
Across many organizations, it is well known that testers lack the time needed to fully test the
SUT within the time allocated to testing phase. This often happens because of unexpected
environmental problems or problems in the implementation phase of development process.

This normally shifts the software final delivery date. As a result to this delay, only two options is
found, either to work longer hours or to add other resources to the test team to finalize testing in
the required limited time. Automation can be one solution to this problem to accelerate testing
and meet project deadline. Automation of testing phase offers a potential source of savings
across all the life cycle.

Automation using scripting techniques can save the costs for the overall software testing
automation process, improve the speed of testing, shorten the product's launch cycle and it can
achieve an amount of work that manual tests are impossible to finish.

The major limitation of the water fall model is, Once an application is in the testing stage, it is
very difficult to go back and change something that was not well-thought out in the concept
stage. Also, No working software is produced until late during the life cycle. High amounts of
risk and uncertainty is present in such model.It is not a good model for complex and object-
oriented projects.Poor model for long and ongoing projects is also another drawback. Its not
suitable for the projects where requirements are at a moderate to high risk of changing.

44

C2 General
SUGGESTIONS
Test case structuring technique and its applicability to sample data discussed in previous sections
of this report advocates a strong focus on testing phase of software development life cycle. Such
test case structuring is advantageous to projects with stable nature of requirements and provides
an efficient way to prioritize, manage and trace origin of a change. Additional advantages from
this approach can be expected by more widespread knowledge about use cases and test cases.
Also, advance tool support should be used to develop and store use cases and test cases.
Tool support can save time and provide easy traceability from use cases and requirements to
testcases. Public courses, online training courses should be provided and well supported in
organizations and employees should be encouraged to attend these courses.
Test case structuring approach used in this reportdemands following factors fulfilled in company
to receive better output from the approach:

 Good estimation techniques to calculate man hours for requirements


 implementation.
 Skilled staff to estimate complexity and volatility values of test cases.
 To draw test case structure only when requirements are mature enough to be
 implemented.
 To ensure availability of project resources to manage structured test case
organization.
Keeping in view the critical nature of software testing module these recommendations needs to
be taken into consideration. Further, organizations should hire consultants from outside on
contractual basis for the requirements process if needed. Consultants must ensure that the
questions addressed by employees are answered in correct way.
Discussion forums and open articles can help the authors of test cases to further improve their
mapping to requirement artifacts like use cases and specifications. Surveys need to be conducted
in organizations to have better understanding of what problems the employees are facing in
development of use cases and test cases. This will help stakeholders to improve their work.

45

C2 General
CONCLUSION

Test case management is the most critical activity to perform effective software testing. In this
study use case based approach for structured test case generation is followed to prioritize,
maintain and trace test cases. We see how the area of testing in software development can help in
the improvement of software project quality.

We have followed use case based approach for structured test case generation in the
implementation of requirements and seek ways for use case driven approach in requirements
engineering to better help in bridging the gap between system requirements and testing. With the
help of a case study; application acceptance criterion, test case prioritization and test cases
traceability to requirements are verified for small to medium scaled projects.

A sample of few test cases is used as an input to our study and results show that significant time
and cost can be saved for more balanced and stable hierarchies of test cases with a main focus on
small to medium scaled projects that are less volatile and less prone to changes. Moreover, test
case structure approach followed in this reportruns in parallel to tool based test case structuring
techniques followed in industry. However, industry is more focused on path based test case
structuring. While approach followed in this reportis use case and specifications based. This
provides an edge and advancement to existing test case structuring methodologies.

46

C2 General
ANNEXURE

In order to give the best understanding of this study, you will find, in this report, two main
chapters. The initial section represents all the theoretical background essentially from literature
reviews, thus u will find the principal definitions and also the characteristics of the different
components and technologies used for Web-Based ERPs. This section is endorsed by the
following section in which the practical part of the reportis presented, showing how a Web site is
built using technologies offered by a Web-based ERP system like mySAP ERP.

And finally, in the section a comparative study where we compare the characteristics found in
the literature reviews to the practical experience led throughout this final reportproject.

ERP systems as all the IT infrastructures have to follow new constraints met by companies.
Thus, since their creation during the 1970s, enterprise systems have known a real evolution
illustrated by the following figure:

Enterprise Resource Planning (ERP) is a name originally from Manufacturing Resource Planning
(MRP II) that followed Material Requirements Planning (MRP).In order to automate their
inventory control systems by using inventory control (IC) packages, most organizations adopted
and implemented centralized computing systems during the 1960s.

In the 1970s, material requirements planning (MRP) systems were mainly developed, for
supporting the production planning or the planning of parts requirements according to the
principal production schedule. A decade after, the aim of the companies was to optimize
manufacturing processes; responding to this a new generation of software systems called
manufacturing resources planning (MRP II) were introduced during the 1980s.

47

C2 General
48

C2 General
SAP FIN:

SAP FIN is the module in SAP which looks after all the financial structures and audits of the
organization. The finance module is further classified into various sub-modules depending on
their nature such as:Procure to Pay, Intercompany Recharges, Mass journal upload tool, Treasury
and cash management, etc.

We will discuss about the most important module of Finance that is Procure to pay. Every
organization that operates a business has to purchase materials such as raw materials, services
etc. The procurement process has become part of today’s efficient business operation. The
Company can procure those materials as in-house production or external procurement.
Procurement Process consist the following processes

1. Material requirement planning


2. Vendor Selection

3. Request for Quotation

4. Purchase Requisition

5. Purchase Order
6. Goods Receipt

7. Goods Receipt Invoice

8. Invoice Verification

9. Payment to Vendors

1. Material requirement planning (MRP):-


Materials requirements planning (MRP) refers to the technique of using a projected
manufacturing production schedule to figure out what supplied materials you will need, and
when you will need them. Materials requirements planning (MRP) type controls the MRP
procedure, pricing, material valuation, Material requirement planning carried out by MRP
controller in production department.

2. Vendor selection:-

Vendor selection is one of the important steps in procurement process. With the help of obtained
quotations from sources and by comparing them, vendors are selected

3. Request for Quotation:-

Requesting potential vendors to submit a quotation for a material or services, Quotation contains
the vendor’s terms and conditions and constitutes the basis for vendor selection

49

C2 General
4. Purchase Requisition:-

A purchase requisition is an internal request to purchasing. You ask the buyer to provide a
certain quantity of a material or service on a certain date. A purchase requisition can be created
automatically by Material Requirement Planning (MRP) or manually created. PR converts to
RFQ, PO or outline agreement. Purchase Requisition forms include the following information

 Material qty, description of goods & service and total value.


 Department Account number.
 Signature by an Authorized Department.
 Attached Quote from the vendor.
 Delivery instructions.
 Attach Quote from the suggested vendor.

5. Purchase Order:-
Purchase Order (PO) is a formal request to a vendor to supply certain materials or services under
the certain conditions. A Purchase Order (PO) can be created with reference, or without
reference to a purchase requisition, a request for quotation, or another purchase order.

6. Goods Receipt:-
Goods Receipts (GR) is created to reflect the Goods Receipts for the specified material ordered
from a vendor using Purchase Order process. After receiving the goods the company can record
the following information, this information can be used for accounting, stock check and rotation,
to return any goods if there is a problem

 What goods were delivered,


 Which vendor delivered the goods?
 Who, how, when goods were delivered and received the goods.

7. Goods Receipt Invoice (GRIN):-

Goods receipt process is one of the important processes in procurement process cycle. It is
matching the goods that a company receives with the company PO (purchase order). It involves
checking the goods are not damaged and fit for use, verifying the price, quantity, and payment
terms. Goods movement are entered in to the system with reference of Purchase order and goods
receipt material documents are posted, automatically appropriate general ledgers are posted and
stock accounts are updated.

50

C2 General
8. Invoice Verification:-

After GRIN process, next process is invoice verification. It plays an important role in
procurement process and Materials Management Module which performs the following tasks

 A Vendor Invoice can be created with reference to a Purchase Order, a Goods Receipt, a
Delivery Note...
 Invoice is verified in-terms of prices, quantity,
 Necessary approvals by project managers.

After verifying all the data, the invoice is posted and the data is saved in the system. The system
updates the invoice data in Materials Management and Financial Accounting.

9. Payment to Vendors:-
The last step in procurement process cycle is payment to vendors. Vendors are getting paid as
per payment terms. In this fast technology world, companies can pay through many methods to
vendors. For example – through Net banking, check payment etc.

Creation of FI Invoice

 Enter T-Code SE37 In Transaction Code Bar

 Enter the Function Module- (/COCKPIT/RFC_DATA_SUBMIT) and Press F8-execute

 Test Function Module: Initial Screen will appear, click on I_STR_HEADER

51

C2 General
 Structure Editor: Change I_STR_HEADER from Entry will appear, enter the information
for below fields:
o Invoice or credit memo
o Document date
o Vendor
o Posting date
o Ref_doc_no
o Company code
o Currency
o Gross amount
o Net amount

 After filling the information click on to come on previous screen.


 Press F8 to execute it.

 After Execution is complete Document number will generate.

52

C2 General
BIBLIOGRAPHY

1. Norm Brown, ‘Little Book of Testing - Implementation Techniques’, Software


Program Managers Network, Volume2, Copyright 1998 by Computers and Concepts
associates, June 1998
2. Hema Srikanth, ‘Requirements Based Test Case Prioritization’, Department of
computer science, North Carolina State University, NC27695

3. ‘Basics of Software testing’ by Arvind Shah, NC Version 5.1

4. Alex Saleh’s ‘Automation Test Strategy’ by College of Engineering North Carolina State
University 1010 Main Campus Drive, USA

53

C2 General

Das könnte Ihnen auch gefallen