Testing


Quality Assurance (QA): Test our release packages. Install them from scratch, try updates from previous versions, make sure everything is working, check if the upgrader works along the different (Repo-)Versions.


The chain breaks at the weakest link.


  1. TodoList
  2. https://wackowiki.org/lab/
  3. Setup a local Test Server

wacko.6.1.9.zip (2.1 MiB)
wacko.6.0.30.zip (2.1 MiB)


Please download the program, take it for a test-drive and tell us what you think.
BETA versions are always for testing purposes only.

Development version
wacko.tar.gz (see Repository)


Keep in mind, that this is still an alpha version - so be advised to not use it for production data!


1. Tools

2. Testing

  1. Test new patches - try them out and see what breaks
  2. Do performance tests - compare versions & settings
  3. Do security audits
  4. Do benchmarks
  5. Do localization checks
  6. Check standards / spec compliance - SQL, XML, APIs, ...
    1. https://developers.google.com/speed/pagespeed/insights/
    2. https://securityheaders.io/
    3. HTML validator
    4. CSS validator
    5. Feed validator
    6. https://web.dev/measure
    7. WAVE – Online accessibility validator
    8. http://jshint.com/
    9. https://www.google.com/webmast[...]ols/mobile-friendly/
    10. http://www.webpagetest.org/ - Test a website's performance
    11. W3C Internationalization Checker
  7. https://github.com/mozilla/readability - test with firefox reading mode
  8. Test integration - does the new version work with all scripts & dbs?

3. Debugging

  1. check error logs
    1. \apache\logs\error.log
    2. \php\logs\php_error_log

3.1. Debug options

3.1.1. Primary config

config/config.php

  1. set sql_mode_strict in primary config to 1 to enable SQL Strict mode
     'sql_mode_strict' => '1',

3.1.2. Secondary config

debug and query caching option
enable the debug option to show all executed SQL queries and disable the query caching option

config table (Admin Panel -> System)

  1. set 'debug' in secondary config to 3
  2. set cache_sql in secondary config to 0

3.1.3. Constants

config/constants.php

  1. set DB_ERROR_MODE in config/constants.php
    const DB_ERROR_MODE	= 2;
    1. Warning
    2. Exception (Fatal error)
  2. set PHP_ERROR_REPORTING in config/constants.php
    const PHP_ERROR_REPORTING	= 6;
    1. Fatal error
    2. Parse error
    3. Warning
    4. Notice

3.2. Debug functions

  1. to write a parameter in the debug log
    • Ut::dbg('debug_variable', $parameter);
  2. add debug output to DEBUG file and popup-window in browser
    • Diag::dbg($parameter);
    • to highlight the debug output in the console add '[BLUE|GOLD|ORANGE|RED]' as the first argument
      • e.g. Diag::dbg('GOLD', $parameter);

In both cases it writes the $parameter to the log in the main directory wacko/DEBUG when the config debug is enabled.
Be aware the log isn't emptied automatically. Ensure that the file wacko/DEBUG can be created and is writable.

touch DEBUG
chmod 0664 DEBUG