Showing posts with label lecture. Show all posts
Showing posts with label lecture. Show all posts

Tuesday, August 25, 2015

[lecture: my note] 소프트웨어 테스팅 클래스 (translation: Software Testing Class) at Fast Campus



Subject
Software Testing Class (link)
Place
Fast Campus Main Building 4th Fl.
Time
10:00 ~ 17:00 on August 25, 2015
Speaker
최준현 (Lindberg Choi)
Host
N/A (paid lecture: 150,000 KRW)
Focus
QA basics, testing secret


  1. Lesson
    1. origin of software bug
      1. origin: vacuum tube
      2. term definition based on IEEE610.12-90
        1. Mistake: A human action that produces an incorrect result.
        2. Error: A difference...between a computed result and the correct result
        3. Fault/Defect/Bug: An incorrect step, process, or data definition in a computer program
        4. Failure: The [incorrect] result of a fault
      3. reasons for defect:
        1. engineers not complying with spec requirements
        2. product manager making mistakes in writing spec requirements
        3. engineers developing on their own due to absence of spec requirements
        4. engineers’ contrived interpretation in architecturing
        5. ...
      4. key principle:
        1. defect + regulatory violation => disabled service
    2. what is test process
      1. process: method to effectively increase task productivity
      2. software testing process: spec requirement analysis -> plan test plan -> create test case -> conduct test -> report result
    3. relationship between planning and testing
      1. deliverables of “planner”
        1. SRS (software requirement specification), IA (information architecture), business process, wireframe, SB (story board)
      2. quality management method for “planner” and product manager
        1. testing internal users
        2. reviewing proposal and development doc
        3. writing structured doc
        4. creating test case in the perspective of “planner”
      3. black-box testing method
        1. definition: Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. <source: Wikipedia>
        2. example
          1. equivalence partitioning
          2. BVA (boundary value analysis)
          3. state transition testing
          4. decision table testing
          5. use case testing
          6. pairwise testing
    4. bug finding type per testing step
      1. understanding test cycle
        1. standard cycle: BAT -> main test -> ad-hoc test -> confirmation test -> regression test
        2. multiple test cycle: 1st (BAT -> main test -> ad-hoc test) -> 2nd (confirmation test -> main test -> ad-hoc test) -> 3rd (confirmation test -> main test -> ad-hoc test -> confirmation test -> regression test)
      2. bug finding type per testing step
        1. BAT (build/binary acceptance test): e.g. label differs per organizations: e.g. BAT at Samsung Electronics, dev to QA; dev review; hurdle at Nexon
        2. main test: conduct TC, finding function related bug
        3. ad-hoc test: exception test, negative action test (c.f. random: range is pre-determined; ad-hoc: testing under given time; monkey test)
        4. confirmation test: confirming bug fix, finding new bug due to unblocked functions
        5. regression test: testing previous feature due to bug fix; typically, new fix brings more bugs on previous feature
    5. bug finding principle
      1. principle of defect clustering
        1. principles of testing <source: link>
          1. Testing shows presence of defects
          2. Exhaustive testing is impossible
          3. Early testing
          4. Defect clustering
          5. Pesticide paradox
          6. Testing is context depending
          7. Absence-of-error fallacy
        2. most bug frequent area: upgraded/updated feature (e.g. At Google, engineers check file fix frequency in unit testing)
      2. magic of test data
        1. example: multimedia data by size and file types, member information, actual database data (e.g. 1234567890; 12345678901234567890, 일이삼사오육칠팔구십; ~!@#$%^&^&*((), null, 123456789 0, foreign language text, negative test case), physical data (e.g. OTP, credit card)
      3. targeting weak point
        1. reason: e.g. lack of connection feature to other modules; proposal issue; lack of state update test; batch function issue; incorrect data issue from admin and back office? (c.f. translation issue; number inconsistency issue)
      4. exception management
      5. targeting per product quality level
        1. many bugs at early development stage: focus on test case
        2. multiple test cycles: focus on unblocked feature
        3. stable quality: focus on UI/UX, compare similar feature from competitor, ask for testings to external user
      6. mindset of developer and tester
    6. tester secret



  1. Personal Takeaway
    1. types of bug: reliability, security, compatibility, usability, functionality, performance, language
    2. read
    3. UML (unified modeling language): ?
    4. app testing trends: e.g. testing with oscilloscope to check currents not to drain battery
    5. magic of test data
    6. secret: e.g. testing backdoor (e.g. CGV, Olleh, Auction sites for ticketing), leave the session
    7. establishing QA process at startups by StyleShare (link)

Monday, August 10, 2015

[lecture] 젊은 창업가가 들려주는 실리콘밸리 스타트업 경험기 (my translation: Silicon Valley Startup Story)



Subject
Silicon Valley Startup Story
Place
D.CAMP 6th fl.
Time
August 10, 2015 (Mon) 19:30~21:30
Speaker
서승환 (Shaun Seo)
Host
Girls in Tech, Jobstick (link)
Focus
general advice on how the speaker built his start-up




lesson and takeaway: 
  1. what’s more important is how developers execute than a million dollar idea
  2. in selecting ideas to develop, try lean startup method
  3. combine marketing and product development together not separating the two

Tuesday, April 28, 2015

[lecture] Growth Hacking by 고영혁 from 쫄지마 창업스쿨 (translation: Don’t be Afraid Entrepreneurship School)



Subject
쫄지마 창업스쿨 (translation: Don’t be Afraid Entrepreneurship School)
Place
Maru 180 B1F, Seoul
Time
April 28, 2015 (Mon) 19:30~21:50
Speaker
고영혁 (Dylan Ko)
Host
Asan Nanum
Focus
growth hacking concept, how-to, case


  1. Lesson
    1. concept: intersection between engineering and marketing
    2. component: analytics in the center, and others (viral growth, landing page optimization, SEO, product management, on-boarding, analytics, PR, etc.) around
    3. essence: increase conversion by consistent measurement and analysis
    4. steps to growth hack
      1. step #1: create PMF (product market fit) in product market
        1. PMF is similar to lean startup’s MVP (minimum viable product)
        2. conduct interactive prototyping by observing interviews closely for their quantity and quality
        3. use tools (e.g. Optimizely for A/B testing)
      2. step #2: generate leads
        1. focus on passionate and targeted first 100~1,000 users
        2. know user cohorts
      3. step #3: maximize word-of-mouth
        1. add share buttons to assist users wanting to spread news to fulfill their rewards such as emotional or monetary
        2. read the Buzzfeed case (e.g. link)
      4. step #4: retain customers and optimize
        1. watch closely customer experience and conversion: e.g. 5% increase of customer retention generates 30 % increase of company profitability (source: Bain & Company)
    5. prep for growth hacking based on data analysis
      1. metrics: standard (i.e. base), milestone (e.g. from a to b, try one scenario, then move to next scenario), stock (i.e. snapshot) and flow (i.e. change over time)
        1. quantity vs. quality
        2. investigative vs reportive
        3. void vs. actionable: void (e.g. click, page view, visit (reach), unique visitor, follower/friend/like) vs. actionable (e.g. when growth rate speed changes from 4.4 to 3.4, find bottleneck)
        4. number vs. rate
        5. predictive vs. summarized
        6. relational vs. causal: relational (e.g. relationship between soft drink and umbrella during rain season) vs. causal (e.g. b/c of a, b occurs)
      2. CLV (customer lifetime value)
        1. use this concept in service planning
        2. life in CLV means from the start and end of the user in using service
        3. determining factor: decreasing AC (customer acquisition cost)
      3. Dave McClure’s AARRR
        1. acquisition: focus on user acquisition cost
        2. activation: registration rate, email readers rate
        3. retention
        4. referral
        5. revenue
      4. A/B testing: control other factors when modifying an independent factor
      5. cohort analysis: pay attention to various factors more than one factor influencing users’ exit (e.g. on x and y axis: put member date on x and exit date on y)
      6. The Stages of Lean Analysis
      7. look at checklist
    6. case
      1. non-Korean example
        1. LinkedIn: allowed service appearing organically on Google’s SERP (search engine result page)
        2. YouTube: used embedding links
        3. Airbnb: used spam mail to craigslist users by solving users’ pain point
        4. Hotmail: inserted a tiny ad at the bottom of message
        5. PayPal: included logo on eBay’s search result page
      2. Korean example
        1. 젤리버스 (Jelly Bus)
          1. finding market: pivoted from photo-editing to photo-collaging
          2. marketing: visited mad users’ posts and added replies, generating viral through loyalty users
          3. l10n with SEO: localized translations by using words appeared on Google SERP
          4. metrics: MAU, monthly app usage frequency
          5. tool: Appstatics for hot app downloads
        2. 요기요 (Yogiyo)
          1. PMF: minimize order and delivery process and touch interactions, and list just contact info and address
          2. paid attention to rate at each funnel process
          3. targeted minimizing CAC per channels
          4. took advantage of IPTV ad by matching users between app and IPTV
          5. created a success team tracking all data and provided feedback to each member (e.g. asked about meaningful data)
          6. minimized delivery failure to zero by changing map structure
          7. iterated test -> action -> optimize
      3. c.f. implement user’s developed feature in your service
    7. know-how
      1. analyze first experience thoroughly to see how new users came, what happened environmentally, how users moved, etc.
      2. create growth hacking culture from the top and spread within organization
      3. communicate within departments of development, planning, marketing and design team
      4. list up success and failure history structurally by sharing which change influenced what, what environment was there when something happened to find out cause and effect
      5. reuse success patterns by listing up rules from success history
      6. customize dashboards to meet your needs
      7. talk about performance through metrics within your organization by creating stories by metrics
      8. divide measuring subjects? until you can’t divide
      9. focus on causality not relation-ability?
      10. share small success within organization
    8. tools
      1. Fanpagekarma.com to investigate competitors to know e.g. demographics and topics
      2. Social Lead Freak to target users
      3. bit.ly for link tracking
      4. http://www.usertesting.com/ for outsourced user testing
  1. personal takeaway
    1. AC is the most important number to minimize
    2. growth hack everything