1. OFBiz
  2. OFBIZ-2100

Survey Implementation for testing scenarios of ecommerce application


    • Sprint:
      Bug Crush Event - 21/2/2015


      This has been a collaborative effort : Idea is given by Anil Patel and provided notes about the approach (Notes are used as #1, #2, etc). I am providing Implementation Notes for this work (Discussed few things with Pranay .... Thanks Buddy).

      In past days we tried to come up with various ways to make testing easy. Managing testing report on spreadsheet is good but difficult to manage and analyze the results.
      Lets use OFBiz survey to manage test scripts & record test results.

      1) Implement Survey in project manager for the testing scenarios of ecommerce application for various functionalities :
      a. Checkout Page
      b. New customer Page
      c. View/Edit Profile Page
      d. Manage Address page
      e. Catalog pages
      f. Mini Cart Page
      g. Show Cart Page

      Impl. Note : Only Data needs to be prepared for this. Take help of DemoSurvey.xml file for reference. Prepare new data file and keep it in the data folder of ecommerce component.

      2) Testing is part of the software development and maintenance. Based on project requirement a task will be created for testing an artifact in system. Execution of such task will require tester to take survey that has questions corresponding to each test case. Test case content will include expected result. On executing steps as specified in survery question, system response should match with expected result as specified in question.Tasks in ofbiz PM are workefforts. A tasks is assigned to ofbiz PM users. When user opens a task, A screenlet having list of survey associated with task (workeffort) will also show up on screen. User should be able to take a survey by selecting it from this list.

      Impl. Note : We may need to create new entity for implementing this feature (Association of task (i.e workeffort) with the survey). Lets keep the name of entity as "WorkEffortSurveyAppl".
      One screen will be present in the "TaskSummary" page.
      Another screenlet will be created to add and list the Survey with the task (i.e workeffort). For doing this add new tabbutton item adjacent to "Notes" tab.
      On the list form there will be a link "Take Survey" and this will navigate user to the list of questions that will be associated with the survey.

      3) Each test case should be represented as a questions to user. Answer to the question should be Boolean. If test fails (answer will be "false") then user should add notes giving details of error.

      Impl. Note : On selection "N" (i.e False) we should open a big text area so that user could enter details of error message. For this we may need to create new entity. Lets keep the name of entity as "SurveyQuestionNote". This entity will be similar to other *Note entities like "WorkEffortNote", "CustRequestItemNote" & "OrderHeaderNote" etc.

      4) Create New Header Item titled "Survey Questions" in the ProjectMgr component to add new questions for any survey and also search questions associated with any survey.

      Impl Note :
      a) Add new link on this page titled "Add Survey Questions"
      There should be three field in this form.
      i) SurveyId - Lookup should be provided so that we could associate the Survey Questions to the existing survey. (Create New Survey if this field kept blank)
      ii) Question : Map this to "question" field of "SurveyQuestion" entity.
      iii) SurveyQuestionType : Default will be Boolean, Fetch the existing values from SurveyQuestionType entity.

      We should provide option to add more then one question in single shot. Add button titled "Add More Questions". This will be handled through Javascript/ Ajax (prototype library).

      b) There should be search and list form for the questions associated with Survey.
      Fields on search form will be :
      i) Survey Id – We should provide lookup for this
      ii) SurveyName - Search on the basis of contains default option.
      iii) SurveyQuestionTypeId - Values in the combo box. Default will be empty value.

      Fields on the list form will be :
      i) SurveyId - Not Editable
      ii) SurveyQuestionTypeId - Not Editable
      iii) Question - Editable.
      iv) Required - Editable

      We should be having single button to update all the records returned from search being performed (Multi Form).
      For reference see : https://localhost:8443/humanres/control/EditSkillTypes

      Thanks Pranay for your your initial comments/ thoughts on this, I have incorporated your comments in my writeup.

      Ashish Vijaywargiya

      1. List_Of_Associated_Survey_On_Summary_Page.png
        234 kB
        Ashish Vijaywargiya
      2. Survey_Association_With_WorkEffort.png
        219 kB
        Ashish Vijaywargiya
      3. Take_Survey_Page.png
        227 kB
        Ashish Vijaywargiya
      4. WorkEffortSurvey.patch
        70 kB
        Ashish Vijaywargiya



          • Assignee:
            Pierre Smits
            Pranay Pandey
          • Votes:
            0 Vote for this issue
            1 Start watching this issue


            • Created: