Tuesday, August 25, 2015

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

Software Testing Class (link)
Fast Campus Main Building 4th Fl.
10:00 ~ 17:00 on August 25, 2015
최준현 (Lindberg Choi)
N/A (paid lecture: 150,000 KRW)
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)

Silicon Valley Startup Story
D.CAMP 6th fl.
August 10, 2015 (Mon) 19:30~21:30
서승환 (Shaun Seo)
Girls in Tech, Jobstick (link)
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

Friday, July 31, 2015

[todo] take advantage of text, image, sound, and video recognition technology!

In my future development of apps, I may be able to implement combination of text, image, sound, and video recognition technology to improve the apps understand users' context.

Hope the showcase of text and video recognition technology from F8 conference this March can come out as API/SDK sometime soon.

In the meantime, learned available APIs/SDKs like below.

For creating a useful web service, I need to dig deeper into mashup!!!

Sunday, July 26, 2015

[lesson] what I learned after watching "Stephen Key: 'One Simple Idea for Startups', Talks at Google"

<source: https://www.youtube.com/watch?v=6csI0dZzFRQ>
1. idea to market process: find a pain point and have a solution -> file for provisional patent -> call companies -> sale sheet with rough prototype -> meet with them

2. for one year perceived ownership of my idea, consider filing for USPTO's provisional patent under 125 USD 

3. play game for idea generation
(1) material change
(2) put it upside down
(3) mix and match 
(4) ask what if
(5) solve it
(6) go to inspiration spot (shower, movie, mall, nature)

4. When to license or start a company?
(1) Can my product be made at a price?
(2) Does it have a wow factor?
(3) Can I describe it in one sentence?
(4) What is the market size?

[lesson] what I learned from watching "7 Things I Learned At Google And Every Startup Should Copy"

<source: https://www.youtube.com/watch?v=k48EeDFasS0> 
1. ask "why not"? ... not "why!"
- e.g. why not break the rules? why not all of Europe instead of 10

2. No opinions, just data! 
- e.g. A/B testing

3. There's no such thing as over-communication
- e.g. make most information open -> people will trust you

4. Ask for forgiveness, not for permission
- e.g. Uber; ask why not?

5. Hire for the company, not for the job
- e.g. build culture that lasts; technology changes; hire people for solving problems

6. Give a license to dream
- e.g. 20% 

7. Think money last and users first
- e.g. if users are satisfied, they will come back; build cash register early; think how you will be making money from day one

Monday, June 22, 2015

[seminar: my note] 2015 크리에이티브 디렉터 세미나 (translation:Creative Director Seminar 2015)

2015 크리에이티브 디렉터 세미나 (translation:Creative Director Seminar 2015)
Seoul Women’s Plaza, Seoul
June 10-11, 2015 10:00~18:00
KIPFA (Korea Internet Professionals Association)
branding, user research, font, pixel, portfolio
  1. Lesson
    1. 한국인이 바라본 중국 인터넷 기업 알리바바의 디자인본부 이모저모 (translation: A Korean Person’s Experience with Design Center of Alibaba, a Chinese Internet Company) [Min Ah Shin@Alibaba’s Taobao, Design Expert]
      1. Chinese users: people in China are very skeptical about new things
      2. user research at Taobao: e.g. visit a town and spend a whole month with users to conduct research

    1. 경험을 이끌어 내는 디자인 (translation: Experience Generating Design [Uzin Hwang@Interbrand, Executive Creative Director]
      1. Brand is about building relationship (e.g. Brompton)
      2. A design change can bring behavior change (e.g. Philip’s MRI for kids: c.f. super formula for chemotherapy drugs)
      3. Reinventing brand can transform old image to be new (e.g. Yellow Pages)
      4. Any organization’s Identity can be re-branded for a whole new image change (e.g. Hansol Museum)
      5. Interbrand experience framework has three parts: 1. insights & needs 2. idea and true 3. better, real, and shared
      6. new term: wordmark, hero typeface, motif, element

    1. 디자이너 해외진출. 무조건 + (translation: Should Designers Work Aboard? Absolutely!) [Younghee Jo@NINEFIVE, CEO]
      1. Design firms in America have feedback-friendly culture and so should you!
      2. Consider implementing golden ratio in design
      3. portfolio: have a good layout
      4. resume: make your resume fit within 1 page; consider putting communication, job relevance, teamwork, creativity, and proactiveness as strengths

    1. 픽셀 시대의 종말 (translation: The End of Pixel Era) [Byungsam Hwang@D.FY, CEO]
      1. monitor
        1. history: green -> orange -> white (e.g. Apple) -> color -> RGB -> anti-alias (9.6 pixel- Helvetica, 8.5 pixel) -> ClearType (drawing curve pretty well) -> retina 326 pixel? (according to Steve Jobs, human eyes can’t tell the difference above 300 pixel)
        2. c.f. resolution 1920 x 1080 @216 dpi ; 5 x 5 (8 bit) ---(x4)---> 20 x 20 (32 bit, retina)
        3. for accurate color representation, consider using dual monitor (one for retina and another for dot color)
      2. website/app design
        1. layout: 12 columns
        2. trend: flexible/fluid/liquid/elastic (e.g. a menu can be added as browser width gets wider)-> responsive (e.g. designers prepared four sets of images for an Innocean website)
        3. should designers prepare many sets of images to suit various screensize width?
          1. e.g. for Apple devices, 768 (on iPad’s portrait mode)-> 1024 (on iPad’s landscape mode) -> 1440 (on MacBook Air) -> 1920 (on iMac and MacBook Pro) -> 2560 (on iMac and MacBook Pro) -> 5120 (on iMac with Retina 5K display)
          2. c.f. 320 (iPhone 5), 414 (iPhone 6 Plus), 360 (Galaxy Nexus)
        4. design metaphor change: skeuomorphism -> flat (c.f. realtime blur, translucent)
        5. typography: Apple SD Neo Sans -> 윤고딕 700 (or 본고딕 Light) -> Neo 고딕 (DM) system font?
        6. copywriting: consider using meaningful/effective adverbs (e.g. Apple’s Korean site uses adverbs quite effectively to explain insight for products)

    1. Digital Re-branding / EXR, Lexus [Juhwan Yi@ Designfever, director]
      1. new term: 시간 masking, manifesto, mood board
  1. personal takeaway
    1. read this to understand difference between DPI, Resolution and Print vs. Web Images

Tuesday, June 16, 2015

[personal UX/UI review] PowerMockup by Wulfsoft

case: PowerMockup by Wulfsoft
positive: searchable module UI in the figure above, some updated wireframe shapes (e.g. Android Lollipop on phoneBootstrap), easy drag and drop for fast and convenient wireframe design
c.f. 1. The tool doesn't include interaction feature. 2. No iPad or Android tablet mock-up included in the tool. 3. The tool is only available on Windows.