CSC/ECE 517 Fall 2009/program2 buddi wn

From Expertiza_Wiki
Jump to navigation Jump to search

Buddi Project

Important Information

  • Submission: October 23 (Friday)
  • First Feedback: October 30 (Friday)
  • Resubmission: November 6 (Friday)
  • Final Review: November 9 (Monday)
  • Metareview: November 11 (Wednesday)

E-mail for Buddi questions: wyatt@digitalcave.ca or wyatt.olson+buddi-ncsu@gmail.com.

Required Results

This project is more about QA and usability testing, rather than pure development. While some coding may be required to enhance the view layer, the vast majority of the code written will be in JUnit tests. The following is required for your results: a) A .zip or .tgz archive containing the entire Buddi project (or at a minimum, all files which have changed OR a .diff of your changes, as you desire). b) A written report on the model testing, indicating what your unit tests test (paying attention to edge cases where problems are more likely to occur) and the results of these tests. (The actual unit tests themselves will be included in the archive in part a) c) A written report on the view testing, indicating what tests you performed, and what the results were. Screenshots taken throughout the test procedure are optional, but a very good idea to demonstrate what problems (if any) you have found. d) A written report on what changes you have made to the view (or the model) as a result of your testing. If there were failures or potential improvements discovered in either your tests, this report should include a re-run of the failed tests, showing that they are now working.

Objectives

Functionality

  • Verify that splits in the data model have been implemented correctly. Ensure that the API wrapper functions allow transparent access to the model. Ensure that there are no edge cases where data corruption occurs.
  • Refine and complete the view layer, and verify that it works as desired in all cases.

Testing

  • Verify Model using JUnit.

There are already some model and API tests in the junit source folder - you can use these as a basis for creating more. You should construct some tests to only test the model, others to test the plugin API, and still others to verify that changes written to the API are accessible to the model (and vice-versa).

Be sure to test the edge cases and exceptional input, for instance: what happens if you try to split a transaction 1000 ways? What happens if you try to include 0 splits? What happens when you try to pass null to various setter methods?

  • Verify UI

Using your understanding gained from the model tests, you must construct written documents detailing what tests you are planning on doing, and how you plan to go about them. You must then carry out these tests, and document the results. In addition to data integrity, the view tests should include a usability component - is the way which split transactions are expressed intuitive? Are there better ways to do this?

Bugs or Undesired Behaviors

Title Details Actual Behavior Expected Behavior Solved
Create New menu Undesired behavior. Create new options shouldn't be put under Edit menu. It's not intuitive for new users. Under My Accounts tab, Edit -> Create Account.

Under My Budget tab, Edit -> Create Budget Category.

Several options:
  1. Move to under File menu
  2. Create button for "New Account" and "New Budget Category"
No
The "+", "-" buttons didn't appear naturally until one switched the focus TWICE after entering the amount. No
No

References

Useful Links

  1. Buddi docs for Developers
  2. Buddi docs for Users