5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

Embed Size (px)

Citation preview

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    1/32

    Nguyen Thanh Binh

    Dean of IT Faculty, Danang University of Technology

    Truong Anh Tuan

    Sr. Director, Software Division, LogiGear Vietnam

    Teaching Software Engineers inTest Automation: A Case Study

    1

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    2/32

    Contents Context

    Needs in test automation

    Test automation training program

    Case study Thoughts for Vietnam

    Conclusion

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    3/32

    Context The application development software market is expected to grow

    from an estimated $9.05 billion in 2012 to more than $10.28

    billion in 2016

    (Based on Gartners Report Market Trends: Application Development, Worldwide, 2012-2016)

    According to a CIO survey

    finding and fixing bugs account for almost 50 percent of the total cost

    of software projects

    Offshoring of QA & Testing functions can save companies up to 75percent compared to in-house costs

    (Based on Why Outsource TestingTEAM International)

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    4/32

    Context Vietnam is one of the top countries in the world that is very

    attractive in offshore services

    Vietnam is one of the top 9 in Asia and top 30 nations in the

    world in 2010-2011

    (source:Gartner Identifies Top 30 Countries for Offshore Services in 2010-2011) 2013 top 100 outsourcing cities

    HCM city: 16th rank

    Hanoi: 23th rank

    (source: 2013 Top 100 Outsourcing Destinations - Tholons 2013)

    Ho Chi Minh City and Ha Noi ranked 5th and 10th respectively in

    the world in the list of Top 50 Software Testing Cities

    (Based on Tholons and Global Service Medias study, 2010)

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    5/32

    Training program is essential

    1. The key competitive advantages

    of Viet Nam currently are cost and

    young labor pool

    2. A well-designed educationprogram, targeted in software

    testing, will equip the labor pool

    with skills to compete globally

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    6/32

    Test engineer hiring High demands for test engineers by many outsourcing companies

    in Vietnam

    based on vietnamwork.com

    But lack of resources

    no testing skills

    Not enough experienced testers

    Focus more on hiring test automation engineers

    Reduce testing cost and time, improve quality and test coverage

    But more difficult in hiring test automation engineers

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    7/32

    Why hiring is in trouble?

    Test engineer is not considered a definitive profession Test engineer jobs are not very attractive

    Testing is often viewed as undesirable and unchallenging career

    Lack of training programs about testing

    Universities May or may not have testing courses

    Companies

    On-the-job training according to clients projects

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    8/32

    Software Engineering program Soft skills English

    Hard skills

    Fundamental courses programming, algorithm, databases, operating system, network,

    hardware

    Specialty courses project management, open source development, SOA, e-commerce,

    software process, formal specification

    Software Testing

    To train mostly software developers

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    9/32

    Software Testing course Covers both theoretical and practical aspects

    Students understand and participate in test activities

    Analyze requirements of document

    Write a test plan

    Design, create and execute test cases using various testing

    techniques

    Write bug and test reports

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    10/32

    Software Testing training Exists at some universities in Vietnam

    HCM City University of Technology

    University of Information Technology, HCM City National University

    HCM City University of Science

    Danang University of Technology

    More theoretical versus practical aspects

    Lack of test automation skills

    Students may think that testing jobs are only manual Unchallenging, undesirable

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    11/32

    What to do? Complete software testing training with test automation

    Talk later about our case study

    Need to define clearly - careers for Test Engineers

    Test engineer (manual)

    Test automation engineer

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    12/32

    Test engineer skills Manual test engineer

    Basic software engineering skills

    general knowledge of computers, software systems;

    software development methods; requirements analysis;

    operating systems, databases Soft skills

    Oral and written presentations of technical documents

    Problem solving, time management

    Testing skills Test planning, test requirement analysis, test case design, test execution,

    bug report, test report

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    13/32

    Test automation engineer skills Test automation engineer

    The same skills as manual test engineer

    Test automation skills

    Uses and implement automation tools

    Create and maintain test automation

    Good scripting skills

    implementing test scripts

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    14/32

    Career path for test engineers Software testing sometimes is viewed as a dead-end job

    Skilled test engineers move up and become developers,

    analysts, designers, system architects

    Test engineer is viewed as a stepping stone

    Each organization should define a career path for test

    engineer

    more defined, challenging and varied career

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    15/32

    Career path for test engineers

    For example:

    Test Engineer

    Sr. Test Engineer

    Test Consultant

    Project Lead

    Sr. Project Lead

    Project Manager

    Sr. Project ManagerPrincipal Test Consultant

    Engineering Manager

    TE

    C

    H

    NI

    C

    AL

    TR

    A

    C

    K

    M

    A

    N

    A

    G

    E

    M

    E

    NT

    T

    R

    A

    C

    K

    (*)(*)

    (*)

    Sr. Engineering Manager

    (*)(*)

    LogiGear test engineer career path

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    16/32

    Career path for test engineers

    For example:

    AT&T test engineer career path

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    17/32

    Test Automation Training

    Contents

    PART I: SOFTWARE TESTING FUNDAMENTALS Chapter 1: Software Development Life Cycle and Testing

    Chapter 2: Software Testing Overview

    Chapter 3: Test Requirement and Design

    Chapter 4: Software Error and Bug

    PART II: TEST AUTOMATION

    Chapter 5: Test Automation Overview

    Chapter 6: Keyword-driven & Action Based Testing

    Chapter 7: An Open source tool : Selenium Chapter 8: A Commercial Tool: TestArchitect

    Chapter 9: Automation customization

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    18/32

    Test Automation Training Objectives

    1. Review fundamentals of practical software testing and testautomation

    2. Recognize the importance of test automation within the

    scope of software testing

    3. Provide access to state-of-the-art in test automation:

    methodologies and technologies

    4. Can use automation tools to implement simple tests in

    practical settings5. Encourage and stimulate the interest of test automation as a

    good career path in the future

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    19/32

    Test Automation Training Objectives

    Theory Practice

    Software Development Life Cycles and Testing 4

    Software Testing Overview 4Test Requirement & Test Design 4 4

    Software Error and Bug 4 4

    Overview of Test Automation 4 8

    Keyword-Driven and Action-Based Testing 4

    Commercial and Open-Source Automation Testing Tools 4 8

    Using Scripting Languages to customize Test Automation 4 4

    32 28

    Curriculum may be slightly adjusted to align with the program at universitiesbut needs to balance between theory and practice hours

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    20/32

    Practice and Evaluation

    Individual 10 exercises (maximum 2 students/PC) on: TestArchitect

    Selenium

    BugZilla

    Eclipse, Test NG, Python

    bug-injected application samples

    Teamwork on a major exercise on a small real test automationproject during the course.

    Rate of evaluation:

    Major Exercise : 30% Mid-term score: 20%

    Final score: 50% (theory; multiple-choice)

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    21/32

    Example of actual exercise

    Below is your assignment today:- Install Firefox 6, Firebug, FirePath, Selenium IDE for Firefox

    - Install Eclipse, TestNG

    - CreateJava project MusicProject- For today exercise, please follow the instruction in Chapter 5 - Exercise - Selenium.ppt andHow To

    Capture Interface - Selenium.ppt

    Expected production today:

    1. Using Firebug, Firepath

    2. Using Selenium IDE in Firefox to record test script

    Navigate to http://www.nhaccuatui.com/

    Enter value for search textbox (e.g: remember when)

    Click search buttonCheck search result (check first result in Topbi ht)

    3. Implement below test case by using selenium 2.0 (WebDriver), java and TestNG

    Navigate to http://www.nhaccuatui.com/

    Enter value for search textbox

    Click search button

    Check search result (check first result in Topbi ht)

    http://www.nhaccuatui.com/http://www.nhaccuatui.com/http://www.nhaccuatui.com/http://www.nhaccuatui.com/
  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    22/32

    Case study:

    Place : Da Nang University of technology

    Time : 01- 23 Oct 2012

    Students: 151 (last year)

    Number of credits: 3 Theory hours: 30

    Practical hours: 28

    Passed: 100%

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    23/32

    Achievements

    Only 18 absenteeism during 2 weeks of training

    Most students are interested in the course

    100% students completed exercises

    90% project teams have done well on major exercise(the rest did test design, test case implementation, but could not completed the full

    automation run)

    Final test: 100% passed, 80% > 7/10

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    24/32

    Student feedbacks

    C ththm nhiu kha hc nhthny vo chng trnh nh hng thm vnghnghip cho sinh vin khi ra trng

    Thi gian cho kha hc qu t, chc 1 tun/kha Cn thm nhiu v d vbi hc. Thi gian ngn m kin thc nhiu nn kh tip

    thu ht Cn ci thin thm trang thit b nhmy mc, microphone, projector Lp hc qu nhiu sinh vin. Nn chia nh ra Ging vin cn ni to hn Cn thm lp hc vknng mm

    Cn c thm bi tp vnh sinh vin c ththc hnh thm Nn lng vo bi ging nhiu hn vkinh nghim thc tvhc tp, cng vic, cuc

    sng, phong cch lm vic Cn gii thiu r hn vcng vic ca test automation engineer

    Here are actual end of course written feedbacks from students (in

    Vietnamese)

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    25/32

    Student feedbacks (cont.)

    C ththm nhiu kha hc nhthny vo chng trnh nh hng thm vnghnghip cho sinh vin khi ra trng Cn gii thiu thm cc cng c khc vtest automation Nn to 1 dn mu cho sinh vin dhnh dung Cn thm ngi htrsinh vin thc hnh Nn tng thm thi gian thc hnh Nn cung cp ti liu cho sinh vin trc khi ging dy Kha hc bch, c tnh thc tin cao,p ng c mong i ca bn thn sinh

    vin

    Ging vin vui tnh, ging kcng, su v dhiu Htrtn tm, nhit tnh trong lc ging dy, btr thi gian ging dy hp l Hy vng nm sau thy Tun trli trng BKging dy tip

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    26/32

    Thoughts for Vietnam Number of universities/colleges having IT training program

    Source: Ministry of Information and Communication, 2010

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    27/32

    Thoughts for Vietnam Number of recruited students in IT per year (12% in 2010)

    Source: Ministry of Information and Communication, 2010

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    28/32

    Thoughts for Vietnam Survey from www.pcworld.com.vn in 2010: IT is a hot

    job in Vietnam

    40.89

    18.75

    16.25

    7.86

    4.29

    5.89

    6.07

    IT - Communication

    Finance - Bank

    Management

    Foreign languages

    Law

    Tourism - Hotel - Restaurant

    Others

    http://www.pcworld.com.vn/http://www.pcworld.com.vn/
  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    29/32

    Thoughts for Vietnam Labor pool have very good potential

    Low cost and young

    Mostly trained in software development

    Fundamental IT

    Programming skills

    Training supplement

    Soft skills

    Software testing Test automation

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    30/32

    Thoughts for Vietnam Case study at LogiGear

    Halliburton project Started with a small team of three test automation engineers and a part-time

    project manager

    Defects found in Beta

    2009: 222 2010: 36

    REDUCTION: 84%

    Known issues at shipment

    2009: 104

    2010: 3

    REDUCTION: 97%

    After 2 years, Halliburton have expanded to over 20 divisions at LogiGearwith 3-15 test automation engineers per division

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    31/32

    Conclusion The time for test automation is now

    Reduce cost and improve productivity

    Train from test automation to software engineers

    Define career path for test engineers

    Attract highly qualified people to a career in software testing

  • 7/28/2019 5-Binh Nguyen and Tuan Truong - Teaching Software Engineers Test Automation A case Study.pdf

    32/32

    THANK YOU -