CSE 7314 (Spring 2010): Course Project
Assignment
Your project is a major part of your CSE 7314. It will
consist of the following parts:
-
A project proposal:
with tentative project ideas presented orally in class on 3/19/10,
and a formal written proposal due on 4/10/10 accompanied by
a brief oral discussion.
-
A project presentation on or before 5/14/10
(which can be substituted by a short project summary on 4/30/10).
-
A final project report:
due on 5/18/10
It can be either a group (dual, pair, or dyad, most likely) project
or an individual project.
The details are given below.
Acceptable project types
There are two types of basic choices for your course project,
one focusing on testing, and anther focusing on other QA techniques:
-
An application of some specific testing techniques/models
to some programs/products you are developing/testing/maintaining/supporting.
For example, you may choose to construct control flow and data flow models
to test a module you are developing at your work.
Another example is the development, validation, and usage
of an operational profile for a large software systems you are working on.
It's generally a good idea to consider multiple testing techniques and actually
use a couple of them in your project to get a hands-on feeling of how different
techniques and models work in practical applications.
Pay special attention to the evaluation of your testing/analysis results.
Be prepared to answer this type of questions:
- How do you know if the testing technique works?
- What's the basis for comparison (baseline)?
- What about some other testing techniques that might be appropriate?
Your answer can be based on either the practical evidence
(executing several types of testing cases and observing the results)
or based on logical arguments
(suitability of certain testing technique on certain types of products),
or both.
You are expected to study relevant material from Part IV of
our textbook (to be covered after final exam)
to prepare you for the analyses above.
-
You may choose to focus on performing various other quality assurance
activities and document the results,
while performing limited/small-scale testing.
Possibilities include comprehensive inspection,
defect prevention and process improvement,
formal verification, and fault tolerance.
You may also collect inspection/testing/QA records for a product at your work,
and construct quality models to analyze the results,
to assess the effectiveness of your inspection/testing/QA techniques,
or to identify high-defect modules for focused
quality improvement actions.
If you choose this second type of project,
I still want you to perform at least some small scale/amount of testing
because it is such an important part of our course.
For the QA part,
make sure you are focusing on quality that can be quantified and analyzed.
(For example, a process definition/improvement initiative with only a
logical argument for its superiority is not suitable for this class.)
Group or individual project?
-
Group projects are highly encouraged, but not required.
In forming a group, you can get a hand on experience to
more class topics, and perform your work in a more
realistic environment for a better learning experience.
However,
-
Unless there is a compelling reason,
group size of 3 or more is discouraged due to the expectation that
everyone in the team will be performing hands-on testing
activities using multiple testing techniques.
Where to find something to test or to perform QA on?
-
Well, I mentioned about your work,
a product, or a sub-part of a product, that you are involved at your work.
However, if you don't feel comfortable taking this as your class
project or talking about it (without mentioning product name and
raw data) in class, you need to find something else to work on.
Notice:
Your project report must contain testing related technical
information, such as test models, test cases, and test results,
although you don't have to give detailed product information.
As a rule of thumb, if you feel uncomfortable with the material
you have to put into this report, find something else to work on.
-
Many students used their past projects from work, from their former
college/graduate school classes, from their hobby (e.g., game
programming), or from their role as users of some specific
packages/software/web-site/etc.
Apply the same sensitivity rule as for your current project above.
-
You can get it from someone else.
Open source software and programs are a wonderful source for many
student projects in the past as well.
Project proposals
You should start early to think about what project you'd like to do for
our class, right from our first class.
For our pm class on 3/19/10, please be prepared to talk briefly about your
tentative topic.
Your formal project proposal consist of two parts,
a written part of around 3-4 double spaced pages due on 4/10/10
and an oral discussion in class on 4/10/10.
Your written proposal should include the following information:
- a one-paragraph abstract (at the beginning of the proposal),
- introduction: clearly identify the problem that you are going to address,
- brief background information (about 1/2 or 1 page),
- the solution strategy you intend to use
(which testing technique? what kind of analyses? etc.),
- expected results,
- analysis of result to be performed,
- followup actions,
- a rough schedule.
In case of a group project,
please also pay attention to the following:
-
Please also provide the information about
each team member's roles and responsibilities.
-
The amount of work proposed for a group project should be appropriate
for the group size. As a general rule of thumb, if something can be
comfortably done by a single student, it is not suitable as a group
project.
-
You only need to submit one proposal and one report for the project,
which must follow the same instruction as the individual projects.
Please keep in mind that by the time you submit your project proposal,
we have only covered 20-40% of the course material,
although an overview of the whole course was given at the beginning of
the semester.
Therefore,
you may make certain modifications to the things you propose,
but the basic framework should be there in your proposal.
Once I have reviewed your proposal and provided my feedback
orally, in writting or via e-mail,
you need to address the issues I raised in your final project report.
However, in most of the cases,
you do NOT need to submit a revised proposal.
In the rare case that your proposal is "unacceptable",
I'll explicitly ask you re-do and re-submit your proposal.
Project presentation
The minimal requirements for your project presentation
is a brief project summary on 4/30/10,
in presentation slide format (minimal 2-5 slides),
suitable for brief in-class presentation/discussion.
You summary should focus on the main results from your project
for us to get the basic picture.
Here is a template for your project summary.
You might want to use it as a guide to prepare your summary.
Each full project presentation should last about 10-15 minutes,
with as many slides as appropriate,
to be presented on 4/30/10 or 5/14/10.
You need to highlight the problem/solution-strategy/results/analysis
for us to get the basic picture,
but not necessarily all the details,
which would require much more than 15 minutes.
One common mistake in the past is too much background information
but not enough testing/QA-specific technical information.
Also, avoid detailed description of the test cases and activities performed.
Project report
The project report should be treated as a term paper,
around 15 double-spaced pages in length,
but no longer than 20 pages.
It should clearly and comprehensively states the background,
problem, strategy, activities, results, result analysis,
lessons learned, followup actions, and a high level summary
(and an abstract at the beginning).
Additional material, such as graphs, models, test cases, etc. produced,
information sources and raw data,
customer surveys, etc., can be included in the appendix and clearly
marked as such (so it will not be counted towards your 20 page quota).
A couple of common mistakes to avoid:
-
It is supposed to be a "report",
not a set of "presentation slides".
So, limit your use of lists/bullets, and put most of the material/discussions
in paragraphs.
-
Similarly,
only figures and tables without corresponding discussions
do not make a good report.
-
Your project report must contain testing related technical
information, such as important test models, test cases,
test results, and analysis of the results.
In addition,
you need to describe/discuss this information unless it is
clearly self-explanatory.
-
On the other hand,
you shouldn't include all the graphs, models, test cases, etc. produced
for the project in the report text itself.
As I mentioned above, they can be included in the appendix, if you desire,
together with other material, such as raw data,
customer surveys, etc.
Prepared by Jeff Tian
(tian@engr.smu.edu).
Initially posted: March 9, 2010. Last update: March 10, 2010.