Friday, 9 October 2015

Software Testing Blog - 01

Test O Fuell - > Find Testing Stuff Easily :p: Testing Levels

Pages

Testing Levels

Testing:-
  • To test the project or module under controlled conditions. Or Intent is to finding defects or bugs that is present in the module.

  • Testing Phases :-



  • In Unit Testing, the emphasis is on removal of basic coding errors and also, compliance with programming style and standards.
  • Integration testing includes Functional Testing. Functional Testing at integration level focuses on verifying modules that are functionally or logically correct.
  • System Testing: Verifies the complete, integrated system meets its functional and non-functional objectives and requirements.
  • Acceptance Testing means the project or module meets the end user requirements and a bug free software.
  • Test Case :- A set of test inputs, execution conditions, and expected results developed for a particular objective
Phase 1:-

In Phase 1 of testing, First of all understand the overall flow of entire project.
  •  And then install the module, Check for installation errors or tracebacks.
  •  Then see that whether all the fields names, Title of the form, and Views (containers) are named properly or not
  • Check that whether Menu names and its sequence are correct or not.
  •  Check for Required fields are taken properly or not.
  •  Check for errors that occured at installation or runtime. See what type of error is that and what it says. For example, Syntax Error, View Error, or Exceptions.
  •  Check for verification and validations in the module.
  •  Check for XML errors.
  •  Check for most common types or mistakes done by developers such as,

- Improper input validation.

- Improper Output

- Constraints on Date fields

- Confusing information

- Wrong Content in Tool tip

- Calculation Errors

- ID Bugs
  • Specially problem will arise in from date & to date field in every module , this is a common mistake made by developers. Taking a negative age is a common mistake made by developers so first of all check it
  • Check for base modules that are inherited works properly. Specialise in invoice flow that whather they are running perfectly or not

Phase 2:-
 In Phase 2 of testing, teting the modules using the functional specifications given by the client. Test the entire module according to the test case.
  •  Check for related fields. Related fields for example one to one, many to one, many to many. See wheather they are working properly or not.
  •  Domain strategy that wheather a one field should be tested by particular level of domains or not
  • Check for Onchange fields in the modules working properly or not.
  • When onchange is made on another field then try to analyse that wheather that is perfect or not
  • Check that whether the workflow states are perfect. And working properly or not.
  • See the Functional logic for the function fields, and find the formula that is correct or not. And check the output by proper calculation.
  •  For example, create payslips, allowances, commissions, invoices, leaves, overtime, and other deductions etc.
  • Take valid input data of a perticular situation that you are handling then try to test with that logic & conditions.
  •  Check that wheather reports are printed perfectly as per the requirement or not.
  • Check for search view fetches records according to filter and group by or not.

Phase 3:-
In Phase 3 of testing, it is actual testing with the user roles and access rights.
  • It is the final phase in testing. In which check for user role wise requirements specified or not.
  •  Try to understand verification & authorization of each user perfectly & flow according to that user.
  • Check for workflow states confirmed by, approved by, published by, modified by, done by, rejected by that is shown in notebook tag in form view.
  •  Try to follow the security rules, a security.csv file is attached with every module so try to observe user rights , they are defined by their objects.
  •  Check for print reports and its output.
  • Check that mail notifications send properly to exact user or not.
  • Regresstion testing of the module, to check whether the error once solved is repeated again.
  • Check for proper demo data that is shown through demo.xml file, whether it is correct or not.
  • Create a documentation for the module.
  • Try using Automated testing tools.
  • Odoo provides support for testing modules using unittest2.