CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Google Summer of Code »
  • DRAFT GSoC'16 PROPOSAL FOR FUZZ TESTING
Pages: [1]

Author Topic: DRAFT GSoC'16 PROPOSAL FOR FUZZ TESTING  (Read 379 times)

mesode

  • I’m new here
  • *
  • Posts: 9
  • Karma: 0
  • CiviCRM version: 4.7.3
  • CMS version: Drupal
  • MySQL version: 5.6.28
  • PHP version: 5.6.11
DRAFT GSoC'16 PROPOSAL FOR FUZZ TESTING
March 17, 2016, 06:48:29 am
Hi, I have shared a draft of my proposal on the GSoC website. I'm also putting it here so that community members with experience can give me their feedbacks and recommendation:

PROJECT SUMMARY (Fuzz Testing)
CiviCRM is a large, web-based application developed by a large community of developers. Unfortunately, there are significant gaps in its automated test coverage.
The project aims to provide broader test-coverage through more automated testing; specifically:
Identifying or designing fuzzy testing techniques appropriate for CiviCRM.
Implementing the fuzzy testing techniques.
Incorporating the fuzzy tests into CiviCRM's on-going quality-assurance.
Communicating with the CiviCRM development community about how to use the fuzz testing.

PROJECT DETAILS
The Ultimate goal of this project is to expand the automated test suite so that it inputs large amounts of random data and gets great coverage with a great range.
In order to achieve the this goal, Fuzz testing technique is going employed as recommended. Fuzz testing or fuzzing is a software testing technique used to discover coding errors and security loopholes in software, operating systems or networks by inputting massive amounts of random data, called fuzz, to the system in an attempt to make it crash. If a vulnerability is found, a tool called a fuzz tester (or fuzzer), indicates potential causes. In applying this technique(Fuzz Testing), the following key phases must be observed;
1. Identifying target system
2. Identify Inputs
3. Generate fuzzed data
4. Execute the test using the fuzzed data
5. monitor system behaviour
6. Log defects

First, I intend to work with the mentors and other community member,  to provide a “Test Plan” that will help us achieve a broader test coverage. The proposed test plan will have the following content;
1. Scope: Test Scenarios/Test objects that will be validated
2. Out of Scope: Enhanced clarity of what will not be covered
3. Assumptions: All the conditions that needs to hold true for us to be able to proceed successful
4. Schedules: Test scenarios preparation, test documentation – test cases/ test data / setting up    environment
5. Deliverable: What documents are to be produced within what time frame.
6. Exit Criteria: when to stop testing

The Use Case Testing technique, which is  testing technique I propose for this project, will adopt the following use case testing template;
Test Scenario
Test Case
Pre conditions
Test Steps
Test Data
Expected Results
Actual Results
Pass/Fail

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Developer Discussion »
  • Google Summer of Code »
  • DRAFT GSoC'16 PROPOSAL FOR FUZZ TESTING

This forum was archived on 2017-11-26.