The following warnings occurred:
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 94 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 573 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 573 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $can_access_moderationqueue - Line: 752 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 752 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 892 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 892 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $awaitingusers - Line: 34 - File: global.php(959) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/global.php(959) : eval()'d code 34 errorHandler->error
/global.php 959 eval
/printthread.php 16 require_once
Warning [2] Undefined array key "style" - Line: 1024 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 1024 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined property: MyLanguage::$lang_select_default - Line: 5308 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 5308 errorHandler->error
/global.php 1024 build_theme_select
/printthread.php 16 require_once
Warning [2] Undefined array key 1 - Line: 1474 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 1474 errorHandler->error
/inc/functions.php 1429 fetch_forum_permissions
/printthread.php 76 forum_permissions
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error



Forums
Extreme Programming - Printable Version

+- Forums (https://www.vdrift.net/Forum)
+-- Forum: Project (https://www.vdrift.net/Forum/forumdisplay.php?fid=4)
+--- Forum: Development (https://www.vdrift.net/Forum/forumdisplay.php?fid=9)
+--- Thread: Extreme Programming (/showthread.php?tid=537)



Extreme Programming - joevenzon - 03-01-2007

http://www.extremeprogramming.org/

"Extreme programming" is a pretty lame name, but I like a lot of their concepts. Writing "unit tests" before developing the code (an then using it as an automated regression test before releases) is handy in many ways, including making the code's purpose easier to understand. Their release planning, using "user stories", and acceptance tests, sounds like a cool way to do things, too.


- thelusiv - 03-02-2007

I always thought that calling it extreme programming is a little goofy, it's just software engineering. I took a class on all these concepts. I agree we should try doing it. It's a great way to control the chances for errors and make sure individual parts work.

Here are some ideas we can employ in game development to better test our work:
  • on a class-by-class basis, develop stress tests that flex the different features of each class
  • test not only for errors but performance factors
  • set up a testing suite that performs tests on all the components and generates a report
  • perform regular tests on multiple platforms, and track reported results
  • besides automated tests, human testing needs to be done on more "fuzzy" criterion, and reported in a uniform way

In order to get consistent information from user testing, I think we need to improve our documentation, and find a way to get users to give us more information. One possible way would be to use a bug tracker, thus they have a form they have to fill out, giving us plenty of info. Another way would be to develop better documentation telling people the information we need because all too commonly, we don't get enough. Personally I think a well set-up web bug tracker would really be the best solution, but that means the developers have to commit to using it. That probably means closing the bugs forum on the site and directing people to always go to the bug tracker site, and that sort of thing.

Anyway a bug tracker isn't directly necessary for good user testing, or good software engineering. It's just one tool that can be used towards that end.


I'd say as we work on things for the upcoming release we should develop some unit tests, and improve our documentation as much as possible. Not only the docs on the wiki, but we should also document our code better (right now it could be said that we do it "not at all" Smile ), at least descriptions for what different functions and classes do.


- joevenzon - 03-02-2007

One of the things I like about unit testing is that it is an additional way of showing what a function is supposed to do.

Anyway, I think the place to start would be adding unit tests for new functionality and starting to develop some "user stories."


- thelusiv - 03-02-2007

The term I've heard a lot for "user stories" is use cases. The idea, for those not familiar, is to collect a list of all the possible ways a user might want to use the program, and the constraints placed on the usage, etc. This provides a concrete set of tests which can be verified and run to establish how well the program is working.

For us it'd probably be a good idea to divide our use cases up into categories, since we have several different modes in which the game is used. For instance, we could have categories for menus, practice games, single races, career mode, replays, network games, etc.


- joevenzon - 03-02-2007

thelusiv, have you looked at http://trac.edgewall.org/? It seems like a pretty good, simple issue tracking system.


- thelusiv - 03-04-2007

Trac looks nice. I'll set up a test site after the release and we can play around with it...