Monday, January 7, 2008

Role of SAP Consultant In Testing

1. What is the role of SD Consultant in Testing while implementing the project?
2. What is Unit testing and Integration Testing?

Testing : the core team members along with endusers will test whether the postings done in SAP is resulting as per the requirements of the organisation. They will test whether the output documents such as purchase order, invoice document are printed in the required format and showing the correct data.

Unit testing is refer to the module which are going to implement. SD, MM, FICO etc. there will be test script based on that testing will be performed.

Integration testing will be cross the modules. MM-SD-FICO for example. Integration testing is also called SIT ( System integration testing)

Testing mathologies and types: there are 6 types of testings:

1. Unit Testing
2. System Testing
3. System Integration security Testing
4. Performance Testing
5. User Acceptance testing
6. Regression Testing

Unit testing is done in bit and pieces. Like e.g. in SD standard order cycle; we do have 1-create order, then 2-delivery, then 3-transfer order, then 4-PGI and then 5-Invoice. So we will be testing 1,2,3,4 and 5 seperately alone one by one using test cases and test data. We will not be looking and checking/testing any integration between order and delivery; delivery and TO; TO and PGI and then invoice.

Whrereas System testing you will be testing the full cycle with it's integration, and you will be testing using test cases which give a full cyclic test from order to invoice.

Security testing you will be testing different roles and functionalities and will check and signoff.

Performance testing is refered to as how much time / second will take to perform some actions, like e.g. PGI. If BPP defination says 5 seconds for PGI then it should be 5 and not 6 second. Usually it is done using software.

Regression testing is reffered to a test which verfies that some new configuration doesnot adversly impact existing functionality. This will be done on each phase of testing.

User Acceptance Testing: Refers to Customer testing. The UAT will be performed through the execution of predefined business scenarios, which combine various business processes. The user test model is comprised of a sub-set of system integration test cases.

We use different software during testing. Most commonly use are

Test Director: which is used to record requirement, preparing test plan and then recording the progress. We will be incorporating defects that are coming during these testings using different test cases.

Mercury Load Runner: is used for performance testing. This is an automatic tool.

What does the following terms means :
- Technical Unit Testing
- Functional Unit Testing
- IntegrationTesting
- Volume Testing
- Parallel Testing?

Technical Unit Testing= Test of some technical development such as a user exit, custom program, or interface. the test usually consists of a test data set that is processed according to the new program. A successful test only proves the developed code works and that it performed the process as as designed.

Functional Unit Testing= Test of configuration, system settings or a custom development (it may follow the technical unit testing) These usually use actual data or data that is masked but essentially the same as a real data set. A successful test shows that the development or configuration works as designed and the data is accurate as a result.

IntegrationTesting= Testing a process, development or configuration within the context of any other functions that the process, development or functionality will touch or integrate . The test should examine all data involved across all modules and any data indirectly affected. A successful test indicates that the processes work as designed and integrate with other functions without causing any problems in any integrated areas.

Volume Testing= testing a full data set that is either actual or masked to insure that the entire volume does cause system problems such as network transmission problems, system resources issues, or any systemic problem, A successful test indicates that the processes will not slow or crash the system due to a full data set being utilized.

Parallel Testing= Testing the new system or processes with a complete data set while running the same processes in the legacy system. A successful test will show identical results when both the legacy system and new system results are compared.

I would also note that when a new implementation is being done you will want to conduct at least one cut over test from the old system to the new and you should probably do several.

What kind of testings that are carried out in testing server?

1. Individual Testing ( Individually which we've created)
2. Regressive Testing ( Entire Process)
3. Integration Testing ( Along with other integrated modules)

The 3 types of testing is as follows:-

1. Unit testing (where an individual process relevant to a SD or MM etc is tested)
2. Integration testing (where a process is tested that cuts across all areas of SAP).
3. Stress testing (where lots of transactions are run to see if the system can handle the data)

Role of a mySAP Functional Consultant

What are the differences between a functional and business consultant?
The difference between Functional consultant and Business consultant are as follows:
1) A funcitonal consultant is able to configure the system unlike business consultant.
2) Functional consultant know more about business process unlike Business consultant.
3) A business consultant will bring business process knowledge and provide it to functional consultant who in turn used this knowledge to configure the system.
4) Functional consultant has more configuration knolwledge then Business consultant.

The responsibilities of a support consultant are:
- Primarily responsible for Handling tickets and application support to the endusers
- When an issue comes diagnose, analyse and solve the issue
- Responsible for any enhancements
- Writing functional specs and interacting with Abapers to develop any user exits
- Training the end users and preparing end user training material

For those who wished to know the role of a functional consultant. Below is one view:
A functional consultant evaluates the demands in talking with the customer's representatives, transforms the essence into an abstract and algorithmic business model. Hence, he identifies the use cases and transforms them into logical and technical views.

Then the main task starts: customizing the respective business area and making sure the system reacts in the manner according to the constraints of the requested use case.
The consultant documents the settings and prepares proper guidelines that allow other consultants to do further changes or repairs with due efforts.

The consultant takes care that proper training is given to the users and that the system is usable, performing appropriately and the business flow is complete and correct.

During go live he assists the technical staff by testing the behaviour of the system.

After go live he guarantees that the procedures remain usable and consistent in real live situation and proposes enhancements.

The main duty of a consultant is to transfer external know-how to the client. It is not manpower that counts but intelligence, understanding of processes, a feeling for defects and general a
common sense.

Role of a Functional Consultant in an End To End Implementation

When you talk about the role of a Functional consultant in an end to end implementation, I think it won't be possible for me or anybody to define everything but I will try to summarize it:

1. Functional consultant is expected to generate knowledge about the current business process, design current business flows, study current business processes and its complication, in all we can say getting through with current business setup. Flow diagrams and DFD are prepared, most of the time in Vision format, all this forms the part of AS IS document.

2. Everything configured has to be documented as per their categories in the form of predefined templates, these have to be then approved by the team leads or who ever the consultant is reporting to.

3. Mapping and GAP analysis is done for each module, I have seen people defining integration after mapping, gap analysis and configuration is done, but as per my experience in implementation, it is a simultaneous process.

4. Before starting configuring future business processes in SAP, the DFD/ERD are prepared, this documentation is called TO BE, which can be also siad as the result of mapping and gap analysis.

5. Sometimes Functional consultants are also expected to prepare test scripts for testing the configured scenarios.

6. End user manual and user training is also expected from F.Consultants.

The project normally starts off with a Kick off meeting in which the team size, team members, reporting system, responsibilities, duties, methodlogy, dates and schedules, working hours which have been predicided are formally defined.

SAP Landscape

SAP is divided into three different lanscape DEV, QAS and PROD.

Landscape is like a server system or like a layout of the servers or some may even call it the architecture of the servers viz.

- DEV would have multiple clients for ex: 190- Sandbox, 100- Golden, 180- Unit Test.
- QAS may again have mutiple clients for ex: 300- Integration Test, 700 to 710 Training.
- PROD may have something like a 200 Production.

These names and numbers are the implementer's discreet on how they want it or they have been using in their previous implementations or how is the client's business scenario.

Now whatever you do in the Sandbox doesn't affect the other servers or clients. Whenever you think you are satisfied with your configuration and you think you can use it moving forward, you RE-DO it in the golden client (remember, this is a very neat and clean client and you cannot use it for rough usage). As you re-do everything that you had thought was important and usable, you get a transport request pop up upon saving everytime. You save it under a transport request and give your description to it. Thus the configuration is transported to the Unit Test client (180 in this example).

You don't run any transaction or even use the SAP Easy Access screen on the 100 (golden) client. This is a configuration only client. Now upon a successful tranport by the Basis guy, you have all the configuration in the Testing client, just as it is in the Golden client. The configuration remains in sync between these two clients.

But in the Testing client you can not even access SPRO (Display IMG) screen. It's a transaction only client where you perform the unit test. Upon a satisfactory unit test, you move the good configuration to the next SERVER (DEV). The incorrect or unsatisfactory configuration is corrected in Golden (may again as well be practised in the sandbox prior to Golden) and accordingly transported back to 180 (Unit Test) until the unit test affected by that particular config is satisfactory.

The Golden client remains the 'database' (if you wanna call it that) or you may rather call it the 'ultimate' reference client for all the good, complete and final configuration that is being used in the implementation.

In summary: Landscape : is the arrangement for the servers

IDES : is purely for education purpose and is NOT INCLUDED in the landscape.

DEVELOPMENT ---> QUALITY ----> PRODUCTION

DEVELOPMENT : is where the the consultants do the customization as per the company's requirement.

QUALITY : is where the core team members and other members test the customization.

PRODUCTION : is where the live data of the company is recorded.

A request will flow from Dev->Qual->Prod and not backwards.

1. Sandbox server: In the initial stages of any implementation project, You are given a sandbox server where you do all the configuration/customization as per the companies business process.

2. Development Server: Once the BBP gets signed off, the configuration is done is development server and saved in workbench requests, to be transported to Production server.

3. Production Server: This is the last/ most refined client where the user will work after project

GO LIVE.
Any changes/ new develpoment is done is development client and the request is transported to production.

These three are landscape of any Company. They organised their office in these three way. Developer develop their program in Development server and then transport it to test server. In testing server tester check/test the program and then transport it to Production Server. Later it will deploy to client from production server.

Presentaion Server- Where SAP GUI have. Application Server - Where SAP Installed. Database Server - Where Database installed.

Meaning of "R" in R/3 systems?

R/3 stands for realtime three tier architecture. This is the kind of architrecture SAP R/3 system has.

R/3 means three layers are installed in Different system/server and they are connected with each other.

1) Presentation
2) Application
3) Database

Successfully Implementing SAP

Implementing a package can be a traumatic affair for both the customer and the vendor. Get it wrong and the vendor may get paid late or have to resort to lawyers to get paid and tarnish their reputation. For the company the new package may not work the way they expected, be late or cost a more than budgeted for and take management will take their eye off running their business.

Recently a client asked me what I would consider to be the five most important things one should consider before embarking on an implementation. This isn't a simple question, although there are many factors to think about after some consideration for me the top five are way ahead of the others.

My top five factors to consider would be:

1. Set up a Project Board,
2. Secure the resources,
3. Complete the GAP Analysis,
4. Have detailed Cut Over Plans,
5. Train the users.

Taking each one in turn:

The Project Board
The correct set up and operation of the Project Board in my view is major factor in the success failure of the project. The Project Board will consist of the stakeholders, key users and the vendor. The Project Board is part of the governance of the project. The Project Board will meet regularly to ensure that the project plans are created and being executed as planned, moves from stage to stage with all the deliverables being signed off is resourced properly.

The Resources
Three types of resources are absolutely necessary --end users, change team and technicians.

Early involvement by the end users is absolutely necessary, as they will be the ones living with the system for hopefully many years to come. They will want to feel involved in its implementation. Buy in from the end users of the system is absolutely essential if the system is to have a long and stable life in any organisation.

The Change Team will identify the gaps between the package and the business requirements, re-engineer some of the businesses process to cope with the package, train the users to ensure implementations is smooth as possible into the business.

The Technical Team will prepare the systems environment for the package, apply any software fixes from the vendor, implement the software in the best way possible for the organisation set up and tune the software for the particular technical environment.

GAP Analysis

A through gap analysis will identify the gaps between how the business operates ad its needs against what the package can can't do. For each gap there will be one of three outcomes which must be recorded and actioned, GAP must be closed and customised software can be developed close the gap, GAP must be closed but software cannot be written therefore a workaround is required, GAP does not need to be closed.

In simple terms: Gap means small cracks. In SAP world. In information technology, gap analysis is the study of the differences between two different information systems or applications( ex; existing system or legacy system with Client and new is SAP), often for the purpose of determining how to get from one state to a new state. A gap is sometimes spoken of as "the space between where we are and where we want to be." Gap analysis is undertaken as a means of bridging that space. Actual gap analysis is time consuming and it plays vital role in blue print stage.

Cut Over Plans

Detailed plans need to be developed for cutting over from the old system(s) to the new. Parallel runs of what will happen over the conversion period using test data, convert and watch for a period after wards to ensure nothing unexpected happens.

Train Users

Well trained users will support and defend the system on site. Unsupportive users will continually undermine the system and eventually it will be replaced. Therefore the more effort you put into helping the users master the system early the better

SAP INTRODUCTION

In a standard SAP project system, it is divided into three environments, Development, Quality Assurance and Production.

The development system is where most of the implementation work takes place. The quality assurance system is where all the final testing is conducted before moving the transports to the production environment.

The production system is where all the daily business activities occur. It is also the client that all the end users use to perform their daily job functions.

To all company, the production system should only contains transport that have passed all the tests.

SAP is a table drive customization software. It allows businesses to make rapid changes in their business requirements with a common set of programs. User-exits are provided for business to add in additional source code. Tools such as screen variants are provided to let you set fields attributes whether to hide, display and make them mandatory fields.

This is what makes ERP system and SAP in particular so flexible. The table driven customization are driving the program functionality instead of those old fashioned hard-coded programs. Therefore, new and changed business requirements can be quickly implemented and tested in the system.

Many other business application software have seen this table driven customization advantage and are now changing their application software based on this table customizing concept.
In order to minimized your upgrading costs, the standard programs and tables should not be changed as far as possible.

The main purpose of using a standard business application software like SAP is to reduced the amount of time and money spend on developing and testing all the programs. Therefore, most companies will try to utilized the available tools provided by SAP.

What is Client? What is the difference between Customization and Configuration?

The difference between cutomizing and configuration is: - CONFIGURATION: we will configure the system to meet the needs of your business by using the existing data. - CUSTOMIZING: we will customise or adapt the system to your business requirements, which is the process of mapping SAP to your business process. - CLIENT: A client is a unique one in organizational structure, can have one or more company codes. Each company code is its own legal entity in finance.

Configuration vs. Customization When considering enterprise software of any type, it is important to understand the difference between configuration and customization.The crux of the difference is complexity. Configuration uses the inherent flexibility of the enterprise software to add fields, change field names,modify drop-down lists, or add buttons. Configurations are made using powerful built-in tool sets.

Customization involves code changes to create functionality that is not available through configuration. Customization can be costly and can complicate future upgrades to the software because the code changes may not easily migrate to the new version.Wherever possible, governments should avoid customization by using configuration to meet their goals.

Governments also should understand their vendor's particular terminology with regard to this issue since words like "modifications" or "extensions" often mean different things to different vendors.

What is SAP R3?

We know that SAP R/3 is software, it particular it is client-server software. This means that the groups/layers that make up a R/3 System are designed to run simultaneously across several separate computer systems.

When you install Microsoft Excel on your PC, each component of Excel (printing components, graphing components, word processing components, and etc.) is stored, managed, and processed via the hardware of your PC. When a company installs SAP’s software each component (or "layer” in R/3’s case) is stored, managed, and processed via the hardware of separate and specialized computer systems. Each of the various layers is capable of calling upon the specialty of any of the other installed layers in order to complete a given task.

Those components/layers that are requesting services are called “clients”, those components/layers that are providing services are called “servers”. Thus the term - “client/server”.

Saturday, January 5, 2008

What is SAP

SAP was founded in 1972 in Walldorf, Germany.
It stands for Systems, Applications and Products in Data Processing.
It has grown and evolved to become the world premier provider of client/server business solutions for which it is so well known today.
The SAP R/3 enterprise application suite for open client/server systems has established a new standards for providing business information management solutions.
SAP product are consider excellent but not perfect. The main problems with software product is that it can never be perfect.
The main advantage of using SAP as your company ERP system is that SAP have a very high level of integration among its individual applications which guarantee consistency of data throughout the system and the company itself.