Introduction - scott789/FreeCol GitHub Wiki
1. Introduction
1.1 Objectives
The objective for our team is to optimize the quality of the code in this application so that it is easier on the resources of players who run this game. With a repository of 110,000+ lines of code, we will not be able to test or improve every portion of the game. However, we will use testing features and quality analytics to determine where we can have the greatest influence over inefficient code.
We plan to deliver:
- performance optimizations
- faster gameplay
- less resource utilization
- introduce a new feature of gameplay
- Improved code readability and correspondence to conventions
- Improved coding structure and organization
1.2 Testing Strategy
Specific test plan components include:
- Purpose for this level of test
- Items to be tested
- Features to be tested
- Features not to be tested
- Management and technical approach
- Pass / Fail criteria
- Individual roles and responsibilities
- Milestones
- Schedules
- Risk assumptions and constraints
1.3 Scope
We will be using an agile development process for determining where, why, and how to make optimizations for the code. This means that as issues arise we will tackle them and use our incremental progress to determine what is possible given our finite amount of developer time and extremely tight budget.
1.4 Definitions and Acronyms
Cyclomatic complexity is a software metric (measurement), used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code.
Memory Leak - a failure in a program to release discarded memory, causing impaired performance or failure.