Development
Testing checklist
- Functional Testing
- Test all pages for errors
- Test all forms
- Check the results
- Check that validation is working correctly
- Usability Testing
- Is navigation easy
- Is the content correct
- Links to help docs
- Compatibility Testing
- Across browsers
- Chrome
- Firefox
- Safari
- …
- Mobile Devices
- What happens on unsupported browsers?
- Across browsers
- Performance Testing
- How fast is the application?
- Can the site be optimized?
- Caching data/ assets
- More Efficient queries
- Security Testing
- SQL , XSS injection attacks
- Update policy
- Software stack, correct settings, updated software etc…
Test Driven Development
Writing code to satisfy tests
Should know what your code need to do before it is written
Write the test before writing the code
- Red
- Write a failing test, should stat what needs to happen
- Green
- Code Meeds the test
- Refactor
- Make the code safe, secure and beautiful
Run Test frequently
Tests can be run automatically on submission to the central repository
Modern Web
Not always written in PHP
Facebook use a PHP -> C++ compiler for performance reasons
PHP Frameworks can do the heavy lifting
Other language
- Ruby on rails
- Scala
- Play Framework
Many Technologies are combined to build a web application
Ruby
- General purpose
- OOP and functional styles are supported
- Large software library
Rails
Collection of libraries that work together
- Active Record - Object relational mapping for database entities
- ActiveResource - For web services
- ActionMailer - Manages Email Functionality
- ActionPack - Manages mapping URLs to correct applications
Front end
some tips
- Learn photoshop for simple mockups
- Learn ins/outs of Javascript
- Find out about browser inconsistencies
Frameworks
- Javascript
- Angular.js
- React.js
- Vue.js
- Other
- Django (Python)
- Flask (Python)
CSS
Css can be difficult
Sass extends css syntax to offer nested rules, named variables , mixins
This then compiles down to css
Back End
tips
- Looks at you language / framework handles background jobs
- Look at cloud based storage
- Ensure you can use web services
- Work out how to do proper performance testing
- Learn about the software stack