CSC/ECE 517 Fall 2009/program2 buddi wn: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 2: Line 2:


== Important Information ==
== Important Information ==
* Submission: October 23 (Friday)
* Submission: October 26 (Monday)
* First Feedback: October 30 (Friday)
* First Feedback: October 30 (Friday)
* Resubmission: November 6 (Friday)
* Resubmission: November 6 (Friday)
Line 18: Line 18:
The following is required for your results:
The following is required for your results:
# 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).
# 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).
# A '''written report[[Written Report on Model (Testing)] W] 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)
# A '''written report ([[Written Report on Model %28Testing%29|Model]]) 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)
# A w'''ritten report[[Written Report on View (Testing)] W] 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.
# A w'''ritten report ([[Written Report on View %28Testing%29|View]]) 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.
# '''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.
# '''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.


Line 66: Line 66:
|  It shows <From> in an unselected mode
|  It shows <From> in an unselected mode
|  Should show "split" entry with "..." button surfaced
|  Should show "split" entry with "..." button surfaced
|  No
|-valign="top"
|  ADDITIONAL FEATURE: Add Semi Year (twice a year) "Budget Period Type".
|  From "My Budget" tab, "Edit" -> "Modify Budget Category" -> "Budget Period Type".
|  No option for Semi Year
|  Add the functionality
|  No
|  No
|-valign="top"
|-valign="top"

Latest revision as of 19:45, 26 October 2009

Buddi Project

Important Information

  • Submission: October 26 (Monday)
  • 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:

  1. 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).
  2. A written report (Model) 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)
  3. A written report (View) 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.
  4. 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
Default Amount for split The default amount is not set to the difference automatically for the new split Currently, default amount is set to zero The remaining split amount represents the remaining balance among the splits No
Category drop down Category list not filtered Some items (credit, cash) are not selectable when selecting a split source. If it's not available for selection, then better take them off the list No
Split From Source Transaction involves split from sources didn't show the split when selected It shows <From> in an unselected mode Should show "split" entry with "..." button surfaced No
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
Create Budget Category using existing category as parent From "My Budget" tab, "Edit" -> "Create Budget Category" -> create new category and choose one of the parents that does not have any children yet -> "OK". Parent does not have + sign next to its name. It will only show up when you highlight parent's row or switch view from Buddi and come back. Parent's name should have "+" sign next to it right after child creation. No
No

References

Useful Links

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