Software Quality assurance is one of the most critical in software development life cycle.

Software Refinery Inc. adheres to a planned and systematic approach in evaluation of quality of a product. We establish standards and procedures which provide framework for the evaluation of the software

Standards are the established criteria to which the software products are compared. Procedures are the established criteria to which the development and control processes are compared.


Standards and procedures establish the prescribed methods for developing software;

Our standards include:

Documentation Standards includes Business requirement documents and product documentation that comprehensively covers entire user requirements and to provide consistency throughout a project. Design Standards specify the form and content of the design product. They provide rules and methods for translating the software requirements into the software design and for representing it in the design documentation.

Code Standards specify the language in which the code is to be written and define any restrictions on use of language features. They define legal language structures, style conventions, rules for data structures and interfaces, and internal code documentation.

At Software – refinery our goal is to provide a well tested and refined product to achieve the highest standards to satisfy the customer.

Our methodology:

To achieve a refined and well tested product we break our SQA activities into :
  • Performance Commitment
  • Ability to perform
  • Activities performed

   Top

Performance Commitment

At software-Refinery we follow a written organizational policy for implementing software quality assurance

This policy typically specifies that:

  1. The SQA function is in place on all software projects.
  2. The SQA group has a reporting channel to senior management that is independent of :
    • the project manager,
    • the project's software engineering group, and
    • the other software-related groups.

Examples of other software-related groups include:

      • software configuration management, and
      • Documentation support.

Software-Refinery organizational structure  is determined to support independence on all SQA activities for their strategic business goals and business environment
Independence should:

    • provide the individuals performing the SQA role with the organizational freedom to be the "eyes and ears" of senior management on the software project;
    • protect the individuals performing the SQA role from performance appraisal by the management of the software project they are reviewing; and
    • provide senior management with confidence that objective information on the process and products of the software project is being reported.
  1. At Software-refinery senior management holds the right and responsibility on periodically reviewing the SQA activities and results , working  closely with auditing and reviewing groups

   Top

Ability to Perform

Ability 1 -- A group that is responsible for coordinating and implementing SQA for the project (i.e., the SQA group) exists.

          At software-Refinery we have a collection of departments, Managers and individuals assigned for a set of tasks or activities.  Our software quality assurance group is  focused on coordinating and implementing the standards and procedures throughout the software-process

            Depending on the size of the project ,  organizational structure and culture, at software-refinery we assign a group of individuals which could vary from a single individual assigned part time , to several part-time individuals assigned from different departments, to several individuals dedicated full time.

Ability 2 -- Adequate resources and tools are provided for performing the SQA activities.

           Software-Refinery provides a dedicated senior Quality Assurance Manager who has sufficient exposure to outline SQA roles and activities, has the authority to take appropriate actions on all SQA being performed.  The entire SQA chain which includes QA lead , Senior Quality Assurance Analyst and software testers will be responsible to  directly report to the QA Manager , who also has the responsibility to act on all noncompliance items.

Tools to support the SQA activites includes:
    • workstations,
    • database programs,
    • spreadsheet programs, and
    • Testing tools
Ability 3 -- Members of the SQA group are trained to perform their SQA activities.

          Our SQA team undergoes a full-fledged training to provide them with sufficient knowledge of software-refinery’s standards and procedures to be followed

The members of the software project receive orientation on the role, responsibilities, authority, and value of the SQA group.

Examples of training include :

  • software engineering skills and practices;
  • roles and responsibilities of the software engineering group and other software-related groups;
  • standards, procedures, and methods for the software project;
  • application domain of the software project;
  • SQA objectives, procedures, and methods;
  • involvement of the SQA group in the software activities;
  • effective use of SQA methods and tools; and
  • interpersonal communications.

   Top

Activities Performed

At software refinery we perform a series of activities to make sure, every project we take undergoes rigorous Quality assurance procedures.

Activity 1 : A test-plan is prepared and a thorough review is performed.

This procedure typically includes :

  1. The SQA plan is developed in the early stages of the project, and in parallel with, the overall project planning.
  2. The affected groups and individuals review the SQA plan.
  3. The SQA group provides consultation and review of the plans, standards, and procedures with regard to:
    • Compliance to organizational policy,
    • Compliance to externally imposed standards and requirements (e.g., standards required by the statement of work),
    • Standards that are appropriate for use by the project,
    • Topics that should be addressed in the software development plan, and
    • Other areas as assigned by the project.
  4. The SQA group verifies that plans, standards, and procedures are in place and can be used to review and audit the software project.

Activity 2 : The SQA group involves in  the software engineering activities to verify compliance.

Software Engineering in QA involves :

  • Preparation of Test-cases according to the business logic provided by the users
  • Thorough review of the User requirement documents to evaluate all the test-scenarios and cover all the test-cases.
  • People with hands-on experience are allocated to review the test cases.
  • Test Execution will be followed once the review is completed.
  • Depending on the project scope and user requirement, we conduct automation using Mercury and Rational test-tools
  • We involve in doing different kinds of tests like smoke testing, integration testing, functional testing, performance testing, stress testing , load testing, user acceptance testing
  • We use defect tracking tools from Mercury and Rational for effective tracking of the defect until its in the defect life cycle.
  • Deviations from the software development plan and the designated project standards and procedures are documented and resolved with the appropriate software task leaders, software managers, or project manager, where possible.
  • Deviations from the software development plan and the designated project standards and procedures not resolvable with the software task leaders, software managers, or project manager are documented and presented to the senior manager designated to receive noncompliance items.
  • Noncompliance items presented to the senior manager are periodically reviewed until they are resolved.
  • The documentation of noncompliance items is managed and controlled.
  • Issues resolved will be regression tested and  will be under configuration management to future reference.
  • The deliverable software products are evaluated before they are delivered to the customer.
  • The software work products are evaluated against the designated software standards, procedures, and contractual requirements.

The plan covers:

  1. Responsibilities and authority of the SQA group.
  2. Resource requirements for the SQA group (including staff, tools, and facilities).
  3. Schedule and funding of the project's SQA group activities.
  4. The SQA group's participation in establishing the software development plan, standards, and procedures for the project.
  5. Evaluations to be performed by the SQA group.

Examples of products and activities to be evaluated include:

    • operational software and support software,
    • deliverable and nondeliverable products,
    • software and nonsoftware products (e.g., documents),
    • product development and product verification activities (e.g., executing test cases), and
    • the activities followed in creating the product.
  1. Audits and reviews to be conducted by the SQA group.
  2. Project standards and procedures to be used as the basis for the SQA group's reviews and audits.
  3. Procedures for documenting and tracking noncompliance issues to closure.

These procedures may be included as part of the plan or may be included via reference to other documents where they are contained.

  1. Documentation that the SQA group is required to produce.
  2. Method and frequency of providing feedback to the software engineering group and other software-related groups on SQA activities.

   Top