PHP Community Manager @ PITECH+PLUS
Symfony Certified Developer
Husband and full time dad
Who is this guy ?
lenard.palko@gmail.com
@lenardpalko
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Software quality
What is an audit ?
How to ?
Benefits
Slide 5
Slide 5 text
Lorem ipsum
tempus
STRUCTURAL
FUNCTIONAL
PROCESS
Software quality
Slide 6
Slide 6 text
Functional quality
Lorem
ipsum
tempus
STRUCTURAL
FUNCTIONAL
PROCESS
Meeting requirements
Ease of use
Few defects
Slide 7
Slide 7 text
Process quality
Meeting deadlines
Meeting budgets
Repeatable process
Lorem
ipsum
tempus
STRUCTURAL
FUNCTIONAL
PROCESS
Slide 8
Slide 8 text
Structural quality
Testability
Maintainability
Efficiency
Security
Lorem
ipsum
tempus
STRUCTURAL
FUNCTIONAL
PROCESS
Slide 9
Slide 9 text
Increasing quality in one aspect can lower the quality on other aspects
=TECHNICAL DEBT
Software quality
Slide 10
Slide 10 text
What is an audit ?
Slide 11
Slide 11 text
“A software code audit is a comprehensive analysis of source code
in a programming project with the intent of discovering bugs,
security breaches or violations of programming conventions.”
www.wikipedia.org
Slide 12
Slide 12 text
A useful step along the path to a better application
Slide 13
Slide 13 text
Why do you need an audit ?
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
Taking over an application
Slide 16
Slide 16 text
Performance / Security issues
Slide 17
Slide 17 text
High cost of change
Slide 18
Slide 18 text
Types of audits
Slide 19
Slide 19 text
Performance audit
Layer based
Load testing
Slide 20
Slide 20 text
Process audit
Requirements
User stories
Methodologies
Planning
Slide 21
Slide 21 text
Penetration testing
Security audit
Slide 22
Slide 22 text
Architecture
Code analysis
Code audit
Slide 23
Slide 23 text
The process
Slide 24
Slide 24 text
Preparing the audit
Functional context
System overview
Project Analysis
Report
The process
1
2
3
4
5
Slide 25
Slide 25 text
Set clear expectations
purpose
access
Preparing the audit
1 2 3 4 5
Slide 26
Slide 26 text
Preparing the audit
Gather prerequisites
functional/technical specs
code
git history
wiki/confluence pages
1 2 3 4 5
Hands on code analysis
What to look for
● project structure, version control
● OOP, design patterns
● mixture of layers
● logging, exception handling
1 2 3 4 5
Slide 32
Slide 32 text
“When I wrote this, only God and I understood what I was doing.
Now, God only knows.”
Comments
comments to look for : “fix, xxx, wtf, todo, temporary”
1 2 3 4 5