CSE 7314/5314 (Fall 2013): Course Project

Prof. Jeff Tian (tian@engr.smu.edu)


Your project is an integral part of your learning experience in CSE 7314/5314. It will consist of three parts/stages: It can be either an individual project or a group (dual, pair, or dyad, most likely) 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:
  1. An application of some specific testing techniques/models to some programs/products/applications/services you are developing/testing/maintaining/supporting/using/considering. For example, you may choose to construct control flow and data flow models to test a module you are developing at your work from a developer's perspective or to construct a finite state machine to capture the expected behavior of the a software product and test it accordingly from a user's perspective.. 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.

    If possible, testing from different perspectives might be more beneficial as a learning experience. For example, you might consider UBST for the whole product, combined with some in-depth WBT of some important modules.

    Pay special attention to the evaluation of your testing/analysis results. Be prepared to answer this type of questions:

    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.

  2. 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.)

    Again, the primary difference in the project requirements for undergraduate and graduate students is in the result analysis part, similar to that for testing-focused project discussed above.

Where to Find Something to Test or to Perform QA on?

Project proposals

Your project proposal should be around 3-4 double spaced pages in length, and should include the following information: In case of a group project, please also pay attention to the following:

Please keep in mind that by the time you submit your project proposal, we have only covered less than half of the class 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, 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 to re-do/re-ubmit your proposal.

Project summary or presentation? The choice is yours

All the graduate students are required to submit a project summary, in presentation slide format (around 5 slides), suitable for in-class presentation by the professor (or by the students), if you are not doing a full presentation (see below) in class. 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 may choose to do a (full) project presentation. In that case, you don't need to submit the project summary. Each presentation should last about 10-15 minutes, with appropriate numbers of slides. 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.

As I stated earlier, this part is optional for undergraduate students.

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, for graduate students. The report 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).

For undergraduate students, you report should be similar, except the analysis part (see information in the "Proposal" section above). As a result, your report is expected to be around 10-12 pages. But, if you choose to, you can follow the instruction for graduate students as well.

Several common mistakes to avoid:

Prepared by Jeff Tian (tian@engr.smu.edu).
Initially posted: Aug. 26, 2013.

Back to CSE 5314/7314 Webpage