Summer Internship
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE ENGINEERING
NAME - MOHAMMED AKRAM MOHIUDDIN
ROLL NUMBER -160320733072
UNDER THE GUIDANCE OF MRS. RAZIA BEGUM
ASSISTANT PROFESSOR DEPT OF C.S.E
DCET HYDERABAD
completion
Internship Program Overview
●Solo work - Plugins
○ Opportunity to get to know each other and the company while working on a smaller
project
○ Plugin creation and documentation
●Group Work - Data Visualization website (DV Tool)
○ Project was chosen by Mike and agreed upon by the group
○ Intern team was tasked with choosing their own roles (QA, ENG, DevOps)
○ Followed typical structure of requirements gathering -> requirements documentation ->
functional specification -> development -> testing
Roles
●Project/Product Managers
○ Early on we acted as liaisons between the team and other employees, until they became
more comfortable
○ Provided deliverables for individual work (plugins)
○ Help facilitate some of the documentation work for DV Tool (Req. Spec. and Func. Spec.)
○ Help organize work flow using Liquid Planner
○ Generally available to answer questions, help make project decisions, bounce ideas off
of, and anything else the team needed
DV Tool is built with
QA
Assuring Quality
DV Tool Testing Process
●Starting Point- Engineers and QA worked together to write Functional
Specification document
●Testing before LiquidPlanner- Tests written using Functional Spec and DV
Tool
○ Wrote tests for newly observed functionality
○ Pre-wrote tests when able
■ Toolbar buttons
■ Data-driven preprocessing tests
○ Tracked written test on Functional Spec
○ Started Test Plan Spreadsheet
DV Tool Testing Process
● Testing and LiquidPlanner
○ Tested functionality of tickets marked for ‘Final Review’ in LP
■ Ensured that a manual or automated test was written for ticket
○ Began making bug reports and feature requests
○ Still wrote tests for newly observed functionality
■ Tracked on Functional Spec
DV Tool Testing Process
● Transition to JIRA
○ Growing number of tests
○ Moved spreadsheet Test Plan to JIRA
■ Better tracking and organization of tests
●Refactored Automated QF-Test Suites
○ JIRA has Test Sets and Tests
■ Organized QF-Test Suites to match JIRA structure
○ JIRA gives a numeric id to each ‘Issue’
■ Renamed tests to include JIRA id
DV Tool Testing Process
● Test runs are recorded in Test Executions
○ New bug tickets are created with failed tests
○ Bug tickets can be resolved when tests pass
This allows for tracking of bugs and test execution history
Quick identification of regressions
We Learned...
● Automated testing should begin when GUI is more stable
○ Spent a great deal of time on test maintenance
■ Components change
■ Changes in functionality
●Need to prioritize development tasks for automated testing
○ Tests had to be revised as needed features were developed
■ Uploading files
●QF-Test doesn't work as well on Linux
○ Uploading files
Next Time...
● Write a more detailed Functional Spec
○ Items on functional spec need to be broken up
■ Number of tests don’t align with line items on functional spec
○ Write functional spec with understanding that each line item is a ticket in LP
■ Some LP tickets didn’t make sense, and need to be revised
DV Tool Testing Stats
●Automated Tests:
○ 18 test sets
○ 125 tests
●Manual Tests: 25 tests
●Test Coverage: ~56% (of functional spec)
DevOps
Dockerizing WebTool
The Internship Experience
WEB INTERFACE LOGIN
●Email Notification Plugin
○ Programming in Java
○ Requirements and Specification documents
○ GitBooks documentation
○ Met and worked with employees in many departments
●DV Tool
○ Software development process
○ New tools: QF-Test, JIRA, LiquidPlanner
■ Importance of developing and testing using the same tools
●I most enjoyed...
○ Teamwork
○ Planning and Organization
○ Seeing DV Tool project progress
Work done
●Plugins
○ Auto-Gating Plugin
○ FlowJo Plugin API
○ Learned Java and Swing
● DV Tool
○ Worked on Interactive D3 Visuals, processing, and Stitching
○ Learned React JS, Node, and D3
Work done
●Plugins
○ dAWS S3 plugin
● DV Tool
○ Learned too many libraries to count
○ Node server development
○ Front-End Interfaces
Work done
●Plugins were fun, and challenging
○ It felt good to make something that will get used
● QA work with DV Tool was great
○ Training with QF-Test
○ Solving problems
○ Improving product quality
●Individual work is useful, but team work is essential
WEBSITE DESIGN AND DEPLOYEMENT
●Plugins
○ Built requirements & functional specs
○ Learned and worked with the FlowJo API
○ Created and standardized a documentation format
● DV Tool
○ Learned about what DevOps is and what it involves, as well as basic CI work
○ Learned and worked heavily with Docker and Jenkins
○ Maintained much of the infrastructure and tools for developing and running DV Tool
THANKS

Web Development Internship ppt 3072.pptx

  • 1.
    Summer Internship BACHELOR OFENGINEERING IN COMPUTER SCIENCE ENGINEERING NAME - MOHAMMED AKRAM MOHIUDDIN ROLL NUMBER -160320733072 UNDER THE GUIDANCE OF MRS. RAZIA BEGUM ASSISTANT PROFESSOR DEPT OF C.S.E DCET HYDERABAD
  • 2.
  • 3.
    Internship Program Overview ●Solowork - Plugins ○ Opportunity to get to know each other and the company while working on a smaller project ○ Plugin creation and documentation ●Group Work - Data Visualization website (DV Tool) ○ Project was chosen by Mike and agreed upon by the group ○ Intern team was tasked with choosing their own roles (QA, ENG, DevOps) ○ Followed typical structure of requirements gathering -> requirements documentation -> functional specification -> development -> testing
  • 4.
    Roles ●Project/Product Managers ○ Earlyon we acted as liaisons between the team and other employees, until they became more comfortable ○ Provided deliverables for individual work (plugins) ○ Help facilitate some of the documentation work for DV Tool (Req. Spec. and Func. Spec.) ○ Help organize work flow using Liquid Planner ○ Generally available to answer questions, help make project decisions, bounce ideas off of, and anything else the team needed
  • 5.
    DV Tool isbuilt with
  • 6.
  • 7.
    DV Tool TestingProcess ●Starting Point- Engineers and QA worked together to write Functional Specification document ●Testing before LiquidPlanner- Tests written using Functional Spec and DV Tool ○ Wrote tests for newly observed functionality ○ Pre-wrote tests when able ■ Toolbar buttons ■ Data-driven preprocessing tests ○ Tracked written test on Functional Spec ○ Started Test Plan Spreadsheet
  • 8.
    DV Tool TestingProcess ● Testing and LiquidPlanner ○ Tested functionality of tickets marked for ‘Final Review’ in LP ■ Ensured that a manual or automated test was written for ticket ○ Began making bug reports and feature requests ○ Still wrote tests for newly observed functionality ■ Tracked on Functional Spec
  • 9.
    DV Tool TestingProcess ● Transition to JIRA ○ Growing number of tests ○ Moved spreadsheet Test Plan to JIRA ■ Better tracking and organization of tests ●Refactored Automated QF-Test Suites ○ JIRA has Test Sets and Tests ■ Organized QF-Test Suites to match JIRA structure ○ JIRA gives a numeric id to each ‘Issue’ ■ Renamed tests to include JIRA id
  • 10.
    DV Tool TestingProcess ● Test runs are recorded in Test Executions ○ New bug tickets are created with failed tests ○ Bug tickets can be resolved when tests pass This allows for tracking of bugs and test execution history Quick identification of regressions
  • 11.
    We Learned... ● Automatedtesting should begin when GUI is more stable ○ Spent a great deal of time on test maintenance ■ Components change ■ Changes in functionality ●Need to prioritize development tasks for automated testing ○ Tests had to be revised as needed features were developed ■ Uploading files ●QF-Test doesn't work as well on Linux ○ Uploading files
  • 12.
    Next Time... ● Writea more detailed Functional Spec ○ Items on functional spec need to be broken up ■ Number of tests don’t align with line items on functional spec ○ Write functional spec with understanding that each line item is a ticket in LP ■ Some LP tickets didn’t make sense, and need to be revised
  • 13.
    DV Tool TestingStats ●Automated Tests: ○ 18 test sets ○ 125 tests ●Manual Tests: 25 tests ●Test Coverage: ~56% (of functional spec)
  • 14.
  • 15.
  • 16.
    WEB INTERFACE LOGIN ●EmailNotification Plugin ○ Programming in Java ○ Requirements and Specification documents ○ GitBooks documentation ○ Met and worked with employees in many departments ●DV Tool ○ Software development process ○ New tools: QF-Test, JIRA, LiquidPlanner ■ Importance of developing and testing using the same tools ●I most enjoyed... ○ Teamwork ○ Planning and Organization ○ Seeing DV Tool project progress
  • 17.
    Work done ●Plugins ○ Auto-GatingPlugin ○ FlowJo Plugin API ○ Learned Java and Swing ● DV Tool ○ Worked on Interactive D3 Visuals, processing, and Stitching ○ Learned React JS, Node, and D3
  • 18.
    Work done ●Plugins ○ dAWSS3 plugin ● DV Tool ○ Learned too many libraries to count ○ Node server development ○ Front-End Interfaces
  • 19.
    Work done ●Plugins werefun, and challenging ○ It felt good to make something that will get used ● QA work with DV Tool was great ○ Training with QF-Test ○ Solving problems ○ Improving product quality ●Individual work is useful, but team work is essential
  • 20.
    WEBSITE DESIGN ANDDEPLOYEMENT ●Plugins ○ Built requirements & functional specs ○ Learned and worked with the FlowJo API ○ Created and standardized a documentation format ● DV Tool ○ Learned about what DevOps is and what it involves, as well as basic CI work ○ Learned and worked heavily with Docker and Jenkins ○ Maintained much of the infrastructure and tools for developing and running DV Tool
  • 21.