You are on page 1of 3

QA Review - Code Review Checklist

<Project/Application ID - Name>

Date: Sep 01, 2008


QA Review - Code Review Checklist
Project/Application Name : APP00001 – Pertamina Retail Portal QA Date: 25/Mar/09
Module/Program : Pertamina Retail Portal
Programmer (Name+ID) : Beki / Konsultan
Review No : 1

0. OVERVIEW
Objectives : To ensure the compliance to coding standards
Actors : The code developer to present the codes to other developer for review
Reviewer : Review by other developer that facilitate with System Analyst

1. DATA SERVICES
A. GENERAL
1. Does this update-version do the following actions?
1.a Create / Alter Databases Yes No N/A
1.b Create / Alter Tables/Views Yes No N/A
1.c Create / Alter Indexes Yes No N/A
1.d Create / Alter Other Objects (SP, user defined functions) Yes No N/A
2. Have the primary keys and indexes been applied to all tables created/altered? Yes No N/A
3. Have integrity constraints been applied according to database design? Yes No N/A
4. Have spArchive(s) been created for tables that need to be archived? Yes No N/A
5. Does the objects created/altered work according to specification? Yes No N/A
6. Does some data populated to tables? Yes No N/A
7. Does the format of the data populated is valid? Yes No N/A
8. Do the query-plans for all queries produce "INDEX SEEK" operations? Yes No N/A
9. Have all queries been parsed successfully? Yes No N/A

B. QUERY CODE
B.1 DATA RETRIEVAL (SELECT…)
Does the query comply with performance rules belows?
1. Do not use SELECT * Yes No N/A
2. Use object alias to avoid ambiguity in fields selected Yes No N/A
3. Avoid use UNION, use UNION ALL instead, or use UNION wisely Yes No N/A
4. Do not use sub-select in field assignment, use JOIN instead Yes No N/A
5. Avoid query resulting large data to minimize I/O Cost Yes No N/A

B.2 DATA SOURCES (FROM…)


Does the query comply with performance rules belows?
1. Always use object-owner (dbo.<object_name>) Yes No N/A
2. Use views appropriately
a. Do not use view for accessing single table without WHERE clause Yes No N/A
b. Use view to simplify query such as for frequently similar query Yes No N/A
3. Always use NOLOCK Yes No N/A
4. Avoid use linked server if possible Yes No N/A
5. Use GLOBAL ENTITY REPOSITORY to access employee data Yes No N/A
6. Lookup get the value from the proper source Yes No N/A

B.3 SEARCH ARGUMENTS (WHERE…)


Does the query comply with performance rules belows?
1. Always use WHERE arguments Yes No N/A
2. Isolate the columns to one side of the expression (for example: use a+b < 2 instead of a < 2-b) Yes No N/A
3. Use positive arguments Yes No N/A
4. Avoid use UPPER/LOWER Yes No N/A
5. Avoid WHERE clauses that are no-SARGable (“Search ARGuments”) Yes No N/A

B.4 TRANSACTIONAL QUERIES (INSERT/UPDATE/DELETE)


Does the query comply with performance rules belows?
1. Always use transaction statement Yes No N/A
2. Do not use transaction for INSERT/UPDATE/DELETE of temporary tables Yes No N/A
3. Always use WHERE arguments in UPDATE/DELETE statements Yes No N/A
4. Does one activity with multiple processess bundled in a single transaction ? Yes No N/A
5. Has incomplete transaction been tested ? Yes No N/A

C. STORED PROCEDURE
Does the stored procedure comply with performance rules belows?
1. Do not prefix stored procedures with "sp_" (For SQL Server Only) Yes No N/A
2. Code header must be added in header of the script and contains information Yes No N/A
about object description, sample of execution, and revision history
3. Always use owner in object definition Yes No N/A
4. Avoid execute another stored procedure to perform transactions Yes No N/A
6. Always mention owner while executing another objects Yes No N/A
7. Avoid use temporary tables with large recordset Yes No N/A
8. Clean up/remark PRINT statements Yes No N/A

2. ASP.NET PROJECT
2A. GENERAL
1. No HARD-CODED for the following text,

Page 2 of 3
- jkdvlsps2, ijsps2, kkappsvr2 Yes No N/A
- jkdvlapp1, jkdvlwww, kkappsvr, kkappsvr1 Yes No N/A
- /home-dev, /home-test, /home Yes No N/A
- /webappl-dev, /webappl-test, /webappl Yes No N/A
- fmi\ Yes No N/A
- commonlib, commonlib-test, commonlib-dev Yes No N/A
- ptfiwebtool_net Yes No N/A
- alert for debugging purposes Yes No N/A
- ows.css Yes No N/A
- /kefshared Yes No N/A
2. Use Ptpr.Library.DatabaseLibrary for data services ? Yes No N/A
3. Use Ptpr.Library.ServerControlsLibrary ? Yes No N/A
4. Use Ptpr.Library.LogLibrary for custom application logging ? Yes No N/A
5. Use the following ASP.NET web application model ? Yes No N/A
- Use visual studio web application model (not the website model) ? Yes No N/A
- Use local ASP.NET development server ? Yes No N/A
- Use ASP.NET AJAX model ? Yes No N/A
6. Implement Master/Content model, layout is defined in Master.Site? Yes No N/A
7. (If using web services) The web service reference follows the standards ?
- Property of URL BEHAVIOR is DYNAMIC Yes No N/A
- Use LOCALHOST inside WEB.CONFIG Yes No N/A
8. File type placements for ASP.NET web application conform to the following rules, Yes No N/A
- C# codes are grouped inside Classes folder Yes No N/A
- JavaScript codes are placed inside Javascripts folder Yes No N/A
- Images are placed inside Images folder Yes No N/A
- Styles are placed inside Styles folder Yes No N/A
- UserControls are placed inside UserControls folder Yes No N/A
- Utils.cs and Constants.cs are defined inside Classes folder Yes No N/A
9. The framework' assembly references have followed the standard,
- Property of copy local is false Yes No N/A
- Shared assembly is referenced locally Yes No N/A
10. No HARD-CODED SERVER NAMES in the following storage,
- SQL table Yes No N/A
- Web config file Yes No N/A
- Registry Yes No N/A
11. (If using approval) Use GLOBAL APPROVAL FRAMEWORK services? Yes No N/A
12. Does the application use PTPR Attachment Framework? Yes No N/A
13. Does email notification use proper PTPR framework standard ? Yes No N/A
14. Has selection parameter been defined properly to avoid heavy query ? Yes No N/A
15. Application implements paging when listing the data Yes No N/A
16. Is NULL value handled and displayed properly ? Yes No N/A
17. Build mode = Release mode Yes No N/A

2B. CONFIGURATION
1. Is configuration stored in table ? Yes No N/A
2. Is Admin screen secured properly ? Yes No N/A
3. Is warning message configureable ? (Ex : Unauthorized Access, please contact 3156373 ext:440 ) Yes No N/A

2C. ERROR HANDLING


1. Error trapping must user friendly, meaningful and informative Yes No N/A
2. Does error trapping display step inside line of code ? Yes No N/A

3. SECURITY
1. Does the application need to be SECURED ? Yes No N/A
2. Does the application use standard PTPR SECURITY SERVICES ? Yes No N/A
3. Does the security already SETUP and TESTED ? Yes No N/A

5. BATCH
1. Is there any notification if batch fail ? Yes No N/A
2. Is there any rerun feature for selected parameter(s) on Batch ? Yes No N/A

Decision / Recommendation
Complete Rework, schedule another meeting for more review

Comment

Reviewed By (Name/ID) Date and Signature Facilitator (QA Team) Approved By (Project Manager)
1 Reviewer - MIS Developer 26/Nov/19 Setiadi / B903002098 Setiadi / 815408
2
3
4

Page 3 of 3

You might also like