Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ABAP Quality Procedures

Former Member
0 Likes
949

Hi,

What r the quality procedures that are / should be followed regarding ABAP Development in the industry ?

I want to know the process flow of Quality of ABAP Development.

How the testing strategies like Unit Testing are followed and how they are implemented ?

Detailed discussion will be helpful

Regards,

Nitin

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
855

Generally in implementation Projects, development cycle will be somewhat :

- Requirement Analysis

- Application Design

( AD - High Level design - quite functional - contains functional test cases / guidelines for test cases)

Review of AD

Review comments implemented till sign off

AD Signed-off by the stake holders

( client side / consultant side )

- Detail Design

( DD - Detail Level design - quite technical as well )

Manhours required is estimated and mentioned

contains functional & technical unit test cases)

Review of DD

Review comments implemented till sign off

DD Signed-off by the stake holders

( client side / consultant side )

-Development

( Coding by the developer as per the detail design )

Unit Testing in Development Server itself

by the developer to ensure that program

works as per the detail design ..

add / implement test case results / transport request details / documentation in detail design.

attach the evidence.

Review to ensure that coding is as per the coding

standards ( performance related as well )

also check the test cases and verify.

Review comments implemented till sign-off by

the stake holders.

At the time of release testing - The chunk of planned work is transported to QA Server.

- Application Testing

This is to ensure that programs work along with other components, that might get affected. This require that even a Invoice should be tested if a change is made in the interface related with a PO creation / change. The test cases or created separately ( more functional in nature and considers dependency of components ).

Before implemntation of the release, the complete product needs to be tested to ensure that it can bear the maximum load of a production environment.

- Load Testing is performed with huge datasets to check if product can handle production scenario in terms of memory and performance.

- Final Implementation to production.

- Any further problems will be solved as Bug-fix.

Enough ..now I will write about Service Projects later on

Cheers,

Ram

Hi,

What r the quality procedures that are / should be followed regarding ABAP Development in the industry ?

I want to know the process flow of Quality of ABAP Development.

How the testing strategies like Unit Testing are followed and how they are implemented ?

Detailed discussion will be helpful

Regards,

Nitin

5 REPLIES 5
Read only

andreas_mann3
Active Contributor
0 Likes
855

Hi,

i think , it's a dilemma in most companies:

there're 2 alternatives :

1) quick and "dirty" solutions , which seem to be cheap

2) solutions with high quality standards, which are expansive (project work, test stages, qu.-management,...)

many managers prefer solution 1) , because they plan only short-term , and they want (or they are forced to..) to reduce costs.

-> but the bottom line is :

programs form 1) are error-prone and must be maintained

and so they are more expansive than solution 2)

regards Andreas

Read only

Former Member
0 Likes
856

Generally in implementation Projects, development cycle will be somewhat :

- Requirement Analysis

- Application Design

( AD - High Level design - quite functional - contains functional test cases / guidelines for test cases)

Review of AD

Review comments implemented till sign off

AD Signed-off by the stake holders

( client side / consultant side )

- Detail Design

( DD - Detail Level design - quite technical as well )

Manhours required is estimated and mentioned

contains functional & technical unit test cases)

Review of DD

Review comments implemented till sign off

DD Signed-off by the stake holders

( client side / consultant side )

-Development

( Coding by the developer as per the detail design )

Unit Testing in Development Server itself

by the developer to ensure that program

works as per the detail design ..

add / implement test case results / transport request details / documentation in detail design.

attach the evidence.

Review to ensure that coding is as per the coding

standards ( performance related as well )

also check the test cases and verify.

Review comments implemented till sign-off by

the stake holders.

At the time of release testing - The chunk of planned work is transported to QA Server.

- Application Testing

This is to ensure that programs work along with other components, that might get affected. This require that even a Invoice should be tested if a change is made in the interface related with a PO creation / change. The test cases or created separately ( more functional in nature and considers dependency of components ).

Before implemntation of the release, the complete product needs to be tested to ensure that it can bear the maximum load of a production environment.

- Load Testing is performed with huge datasets to check if product can handle production scenario in terms of memory and performance.

- Final Implementation to production.

- Any further problems will be solved as Bug-fix.

Enough ..now I will write about Service Projects later on

Cheers,

Ram

Read only

0 Likes
855

Hi Ram,

It was really nice and detailed information.

U have talked about time estimation and unit testing. I would further like to add few questions regarding this.

How should one estimate the time required to develop the ABAP reports or any kind of object ?

How exactly Unit Testing is carried out ? Is CATT used for Testing ? Ne example for Unit Testing ?

Thanks for Master Reply

Regards,

Read only

0 Likes
855

Hi Nitin,

Generally estimation is done using WBS [ Work Break Down Structure ].

Basically the work package is divided into smaller logical units of work and then these units are estimated separately. Further, these are added to get the complexity of work package and also accordingly the estimated man-hours for the work package.

Experience plays a major role here but an estimation model helps in keeping the results somewhat predictable.

The estimation model can be adapted / created and should be as per the industry standard.

You can check out an estimation model ( not too good – but then you are not paying me anything for this , Are you? ) which is a sample model to categorize the complexity of ABAP interfaces ( Simple , Medium, Complex ).

http://www.geocities.com/rmtiwari/Resources/Management/Estimation/EstimationModelABAPInterfaces.html

Further, the complexity and type of development can be mapped to man-hours required.

Regarding Unit Testing, I’ve never used CATT for this or any testing for that matter.

Mainly because for unit testing you need to check if the program is following the proper execution path or not along with desired results. Also it’s the first testing and requires a lot of manual intervention, debugging and re-work so automated testing does not seem suitable to me.

For Application testing CATT might be used.

But I’ve used CATTs for quite a different purpose ..To load data into SAP systems in place of BDC

An example for preparing test case and result sheet for a program ( It's a copy from Excel Sheet - So enjoy the change;-)

I should have written this as a weblog and that would have solved this excel formatting problem, I am sure my weblog is approved ..I remeber getting some mail from SDN regarding this...well ..ok next time ..

OK, I'll try to use code specification to format and send the test case sample in my next post.

Cheers,

Ram

Read only

0 Likes
855

Does this make any sense ?


Test Case for User-Exit implemented for Payment Scheme:
Cycle : General Checks for Payment Schemes "FD" and "APT". 	 
 	 	Test Input Data 	Test Result Data  ( gt_print_options[] )	Result Expected	Actual Result
Srl	Test Case 	Partner	Contract A/c	contract	Payment scheme	payment group	Status	PS_NUMBER	VERTRAG	CORR_MODE	ATTACH	 	 
1	The contract account is on fuel direct 	1000027745	300000010117	0000004095	100000000551	0000000008	Activating	 	 	 	 	Processing will not be done for this case.	Result as expected.
2	The contract account is for advanced payment.	1000027745	300000010117	0000004095	100000000551	0000000004	Activating	 	 	 	 	Processing will not be done for this case.	Result as expected.
Cycle : Create Payment Scheme	 
 	 	Test Input Data 	Test Result Data  ( gt_print_options[] )	Result Expected	Actual Result
Srl	Test Case 	Partner	Contract A/c	contract	Payment scheme	payment group	Status	PS_NUMBER	VERTRAG	CORR_MODE	ATTACH	 	 
3	In Create online mode, if the payment option is Direct debit and the Payment scheme status is Pending.	1000027745	300000010117	0000004095	100000000549	0000000002	Inactive	100000000549	0000004095	2	D	A popup dialog box is displayed asking the user to either select ‘Direct debit’ or ‘JS pack’, If Direct Debit mandate selected, the correspondence container is populated for Direct debit. If JS pack selected, the print container is populated for the JS pack.	Direcr debit selected.Result as expected.