Skip to Content

Blog Archives

Gherkin and Cucumber ทางเลือกใหม่ในการจัดการ Automation Testing ให้เป็นระบบ

ในกระบวนการพัฒนา Software แบบ Agile นั้น ใช้ User Story เพื่ออธิบาย Feature, Requirement ต่าง ๆ ของ Software ในมุมมองของ end-user แต่อย่างไรก็ตาม ก็ยังคงมีอุปสรรคในการสื่อสาร User Story เหล่านี้ระหว่าง Business Team และ Tech Team ให้เข้าใจตรงกัน Gherkin ถูกประดิษฐ์ขึ้นเพื่อช่วยแก้ไขปัญหานี้

 

Gherkin เป็นภาษาสำหรับบรรยาย Requirement และ Acceptance Criteria ในรูปแบบที่คล้าย Human Language ซึ่งช่วยให้ทีมงานทำความเข้าใจ Requirement ต่าง ๆ ได้ง่าย ทั้งในเชิง Business และ Technical

 

Gherkin Systax

การอธิบาย Scenario ด้วย Gherkin มีองค์ประกอบดังนี้

  1. Scenario: อธิบายสถานการณ์ของการใช้ระบบ
  2. Given: Precondition / Context / Step ที่ต้องเกิดขึ้นเพื่อนำระบบไปอยู่ใน State ที่ต้องการ ก่อนที่ผู้ใช้งานจะมี Interaction ใด ๆ กับระบบ ส่วนของ Given สามารถมีหลายข้อได้ และเชื่อมกันด้วย And
  3. When: Interaction ต่างที่ User กระทำ หากมีหลาย Action ให้เชื่อมด้วย And
  4. Then: ผลลัพธ์ที่เกิดขึ้น มักจะกล่าวถึงสิ่งที่เราต้องตรวจสอบ เช่น user interface, report, message, command output เป็นต้น และยังรวมถึง External System ที่เกี่ยวข้องด้วย เช่น หากมีการส่งข้อมูลไปยังระบบอื่น

 

Case Study: Login

ในบทความนี้ขอยกกรณีศึกษา User Story การเข้าสู่ระบบ (Login) โดยให้มี User Story ดังนี้

As a customer, I want to login using username and password, so that I can see information in the homepage.

 

Business Analyst (BA) สามารถเขียน Scenario ต่างๆ ในรูป Gherkin ได้ดังต่อไปนี้


Scenario Outline: Check login is successful with valid credentials

Given user is on login page

When user enters valid username and password – username: <username>, password: <password>

And clicks on login button

Then user is navigated to the home page

Examples:

| username | password |

| Raghav   |    12345 |

| Ele      |    12345 |


Scenario Outline: Check login is failed with invalid credentials

Given user is on login page

When user enters invalid username and password – username: <username>, password: <password>

And clicks on login button

Then error message is displayed – invalid credential

Examples:

| username | password |

|                    |    11111 |


 

จากตัวอย่าง มีการใช้ Example เพื่อกำหนด Test Data (Sample) สำหรับการทดสอบ โดยแต่ละ Scenario แรกมี 2 sample และ Scenario ที่สองมี 1 sample สิ่งที่เกิดขึ้นคือ เมื่อทำการทดสอบ โปรแกรมจะนำค่าใน Sample นี้ไปแทนค่า Variable ต่าง ๆ ของ Scenario นั้น เช่น <username>, <password>

นอกจากนี้แล้วเราสามารถใช้ Tag เพื่อใช้แบ่งกลุ่ม จัดระเบียบ จำแนก scenario ได้ โดยใส่เครื่องหมาย @ ตามด้วยข้อความใด ๆ ที่เราต้องการ ไว้หน้า Scenario เช่น เราต้องการแยก Positive/Negative Test หรือต้องการกำหนด Scenario สำหรับ Smoke Test ก็สามารถใส่ Tag @positive, @negative, @smoke ลงไปได้

Tag เหล่านี้จะถูกใช้ตอน Execute Test โดยระบุ Tag Name ของ Scenario ที่เราต้องการทดสอบลงไป โปรแกรมก็จะ Execute เฉพาะ Scenario เหล่านั้นให้

 


@positive

@smoke

Scenario Outline: Check login is successful with valid credentials


@negative

Scenario Outline: Check login is failed with invalid credentials


 

เรารวบรวม Scenario ที่เป็นรูปแบบ Gherkin ไว้ใน File ที่เรียกว่า Feature File และ File นี้จะถูกนำมาสร้างเป็น Code สำหรับ Automated Test ได้ โดยอาศัยเครื่องมือที่ชื่อว่า Cucumber โดยในบทความต่อไปนี้จะยกตัวอย่างการใช้ Cucumber ร่วมกับ Maven, Eclipse, Seleninum

เมื่อเราใช้ Cucumber อ่าน Feature File เราจะได้ Output ออกมาเป็น Code Snippet ซึ่งเป็นโครงร่างเพื่อนำไปเขียน Code ต่อดังรูปตัวอย่าง

รูปฝั่งซ้ายเป็น Feature File (userlogin.feature) ส่วนฝั่งขวาเป็น Code Snippet ในภาษา Java (LoginSteps.java) สำหรับนำไปเขียน code ทำ Automated Test ต่อ ให้สังเกตว่าใน Code จะมี Annotation @Given, @When, @Then ซึ่งจะสอดคล้องกับ Scenario ใน userlogin.feature

 

เมื่อเราได้ Code Snippet แล้ว เราสามารถใช้ Selenium Library for Java เพื่อสร้าง “Glue Code” สำหรับ Automated Test ต่อไปได้ โดยจะแบ่งเป็น Class Page Factory และ Class Test Step

Page Factory Class เป็น Class ที่เป็นตัวแทนของ Page (หน้าจอ) ที่เราต้องการทดสอบ เราจะประกาศตัวแปร Web Element ต่าง ๆ เท่าที่จำเป็นในการทดสอบ เช่น หน้าจอ Login ก็จะมี Web Element ได้แก่ name (Textbox), password (Textbox), login (Button) นอกจากนี้จะมีส่วนที่เป็น division สำหรับแสดงข้อความ error message อยู่ 2 ที่ ซึ่งไม่ได้กำหนด ID แต่ใช้ CSS Class ชื่อว่า invalid-feedback

 

สร้าง Class LoginPage_PF เป็น Page Factory โดยให้มีตัวแปร Web Element สอดคล้องกับหน้าจอ ดังนี้

 

สังเกตใน Class LoginPage_PF จะมีตัวแปร WebElement ผูกกับ ID ของ Object ต่าง ๆ บนหน้าจอ ด้วย Annotation @FindBy(id) นอกจากนี้เราสามารถสร้าง List ของ WebElement ได้ เช่น ค้นหา Object บนหน้าจอ ที่ใช้ CSS Class ชื่อว่า “invalid-feedback”

 

สำหรับ Constructor นั้น ให้รับ Parameter เป็น WebDriver เข้ามา ซึ่งจะทำให้เราสามารถผูก WebElement กับ Object บนหน้าจอได้

 

จากนั้นเราเขียน code selenium ที่สั่งให้ทำ Action ต่าง ๆ บนหน้าจอ เช่น การกรอก username ในช่อง name, การกรอก password ในช่อง password, การคลิกปุ่ม Login, การตรวจหาข้อความ “Password is invalid”

 

หลังจากที่ทำ Page Factor Class LoginPage_PF เสร็จแล้ว เราก็จะมาเขียน “Glue Code” ใน LoginSteps Class ต่อ ซึ่ง Class นี้จะเรียกใช้งาน LoginPage_PF และมี Method ต่าง ๆ สอดคล้องกับกับ Scenario ใน Feature File (userlogin.feature)

 

เราเริ่มจาก Code สำหรับ Initialize และ Finalize ก่อน

  • Method browserSetup() ใช้สำหรับ setup การทดสอบ โดยทั่วไปจะ create driver ของ browser ขึ้นมา (เช่น Chrome, Firefox, Edge ซึ่งในตัวอย่างนี้ใช้ Microsoft Edge) กำหนดค่า setting ทั่วไป (เช่น timeout)
  • Method teardown() ใช้สำหรับสิ้นสุดการทำงาน โดยทั่วไปจะ close driver และ quit driver

 

 

  • จาก Code ที่แสดง เราสามารถกำหนดให้บาง Method ทำงานก่อนที่จะเริ่ม execute test ได้ โดยใส่ Annotation @Before(order) ได้ พร้อมระบุ Order เป็นเลขลำดับ ในที่นี้เราใส่ @Before ให้กับ method browserSetup ()
  • ในทางกลับกัน เราสามารถกำหนดให้บาง Method ทำงานหลังการ execute test ได้เช่นกัน โดยใส่ Annotation @After(order) ในที่นี้เราใส่ @After ให้กับ method teardown()

 

จากนั้นเราเขียน code ส่วนที่เหลือ คือ Test Step ต่าง ๆ ตาม Scenario ซึ่งจะไปเรียกใช้ Method ต่าง ๆ ที่เราสร้างไว้ใน LoginPage_PF

  • user_enters_valid_username_and_password() : การกรอก username และ Password
  • clicks_on_login_button() : การกดปุ่ม Login

 

 

สุดท้ายคือ Code สำหรับตรวจสอบผลลัพธ์ ซึ่งในที่นี้จะตรวจสอบว่าหน้าจอที่แสดงเป็นหน้าจอ Home Page หรือไม่โดยค้นหา Object ปุ่ม Logout ถ้าค้นหาพบ แสดงว่าหน้าจออยู่ที่ Home Page แล้ว

 

สังเกตว่าจะเรียกใช้ Page Factory อีก Class หนึ่งคือ HomePage_PF ซึ่งมี Web Element ที่เราสนใจคือปุ่ม Logout

 

สุดท้ายเมื่อ Build แล้ว เราสามารถ Run Automated Test ได้ผ่าน Eclipse หรือ Command Line ก็ได้

รูปต่อไปนี้แสดงการใช้ Command Line “mvn test”

 

โปรแกรมก็จะเปิด Browser ขึ้นมา และทำ Action ต่าง ๆ ที่เราเขียน Scenario ไว้ โดยอัตโนมัติ จะสังเกตว่าแต่ละการทดสอบของ Scenario จะแสดง Scenario Step (Gherkin) คู่กับ Glue Code ที่ทำงาน โดยแสดง Package Name, Class Name, Method Name เช่น

  • Step “Given user is on login page” มี Glue Code ที่คู่กันคือ LoginStep.user_is_on_login_page

ซึ่งสิ่งนี้เองที่ทำให้เห็นภาพชัดเจนขึ้นว่า การใช้ Gherkin-Cucumber จะช่วยจัดระเบียบ ให้ทำความความเข้าใจและเชื่อมโยงระหว่าง Scenario และ Test ได้ดีขึ้น นอกจากนี้ หากอนาคตมีการเปลี่ยนรายละเอียดของ Step ก็จะทราบส่วนที่ต้องแก้ไข Code Automated Test ได้เร็วขึ้นด้วย

 

ในตอนท้าย โปรแกรมจะแสดงสรุปผลการ Test ว่าผ่านหรือไม่ผ่านกี่ Scenario

 

หากเราต้องการทดสอบบาง Scenario เราสามารถระบุ Cucumber option ตอนที่ Run maven test ได้ ในที่นี้ขอยกตัวอย่างง่าย ๆ ดังต่อไปนี้

  • กรณีต้องการทดสอบ scenario ที่มี tag ชื่อที่เราต้องการ เช่น

    • ต้องการทดสอบ scenario tag positive

mvn test -Dcucumber.options=”–tags @positive”


    • ต้องการทดสอบ scenario tag smoke

mvn test -Dcucumber.options=”–tags @smoke”


 

  • กรณีที่ Project มีหลาย Feature File เราสามารถเจาะจง Feature File ที่ต้องการทดสอบได้

    • การเจาะจงทดสอบเพียง Feature File ที่เราต้องการ ให้ระบุ Relative path ของ Feature file นั้น

mvn test -Dcucumber.options=”src/test/resources/features/userlogin.feature”


    • การเจาะจงทดสอบเพียง Feature File ใน Directory ที่เราต้องการ ให้ระบุ Relative path ของ Directory นั้น

mvn test -Dcucumber.options=”src/test/resources/features”


 

สำหรับบทความนี้ก็ขอจบเท่านี้ครับ หากสนใจโซลูชั่นด้านดิจิทัล สามารถติดต่อเราได้ที่อีเมล Marketing@stream.co.th หรือโทร. 02-679-2233 นะครับ

เรียบเรียงโดย Siripod Surabotsophon

Reference

  • Selenium Cucumber Java BDD Framework

https://youtu.be/4e9vhX7ZuCw

  • Source Code ในบทความนี้ สามารถ Download ได้จาก GitHub

https://github.com/siripods/SeleniumCucumberBDD

 

0 0 Continue Reading →

ทำ A/B Testing ด้วย Google Content Experiments

เวลาเราสร้าง page ของ website ขึ้นมา มีหลากหลาย design หรือ หลากหลาย content เราจะวัดผลได้ยังไงว่าแบบ ไหนดีกว่ากัน จะใช้ตัววัดอะไรดี Pageviews ?  Bounces Rate ? Session Duration ? ในบทความนี้เราจะลองลงมือทำ A/B Testing  แบบง่ายๆ ด้วย

Google Content Experiments ซึ่ง ฟรี  ไม่เสียเงิน มาเริ่มกันเลยครับ

ก่อนที่จะทำ A/B Testing นั้น ต้องทำสิ่งเหล่านี้ก่อน

1.สมัคร Google Analytics  ฟรี ไม่เสียค่าใช้จ่าย

2.นำ code Google Analytics ไปวางบน page website

มาเริ่มกันเลย

  1. Sing in เข้าไปที่ Google Analytics > https://analytics.google.com/analytics/web/
  2. จากนั้นไป search คำว่า “Experiments” ทางด้านบนซ้าย

3.กดปุ่ม Create Experiment เพื่อเริ่มทำ A/B Testing กัน

4.ในตัวอย่างนี้ผมจะ Test จำนวนผู้เข้าชมระหว่าง blog A กับ blog B ซึ่งมี Design ต่างกันและเนื้อหาต่างกัน

ใน step 1 ให้ใส่เรียงตามนี้

  • ชื่อของวัตถุประสงค์ที่เราจะ test
  • วัตถุประสงค์ของการเทส ครั้งนี้ ซึ่งจะมีค่าเริ่มต้นให้ 3 ค่า
    • Pageviews – จำนวนผู้ที่เยี่ยมชม
    • Bounces เป็นอัตราของผู้เยี่ยมชมที่เข้ามายังหน้าเว็บของเราโดยที่ไม่ได้คลิ๊กต่อไปที่ไหนเลย
    • Session Duration – เวลาที่ผู้เยี่ยมชม อยู่ในหน้า page นั้นๆ
  • กำหนดค่า traffic ไปที่ 100%

จากนั้นกดปุ่ม save

Step 2

ให้ใส่ URL หน้า page ที่เราต้องการเทส โดยที่หน้าหลัก จะเป็น Original Page ส่วนหน้าที่เป็นตัวแปร ให้ใส่ที่ Variant1 และหากต้องการเปรียบเทียบหน้าอื่นๆ กับ Original Page ก็สามารถเพิ่มได้

Step 3

กดปุ่ม Manually insert the code และนำ copy code ไปวางไว้ที่ข้างล่าง tag header บน html page ที่เป็น original page

เอาไปวางไว้ตรงข้างล่าง html

Step 4

ถ้านำ code ไปติดเรียบร้อยแล้ว จะผ่านดังรูป แต่หากยังมี error แสดงว่า ติด code ผิด หรือยังไม่มี code Google Analytics ติดไว้

กดปุ่ม Save เป็นอันจบพิธีการ set A/B test  แบบง่ายๆ

 

อันนี้เป็นตัวอย่างผลการ test ที่ run มาได้ประมาณ เกือบ 2 เดือนครับ


A/B Testing คืออะไร ดูได้จากบทความนี้เลยครับ

 

ยังไงก็ลองดูกันนะครับ  สุดท้าย Google Experiment สามารถทำท่ายากได้อีกหลายท่า แต่อาจจะต้องมีความรู้ทางด้าน coding เพื่อเพิ่มความซับซ้อนของการเทส

เขียนโดย Kittiphat Dumrongprat

Business Analyst

 

 

0 0 Continue Reading →

Code Smell & Refactoring ตอนที่ 4

Code Smell & Refactoring ตอนที่ 3
จากครั้งที่แล้ว เรารู้จัก ประเภทของ Code Smells ไป 4 ประเภทแล้วนะครับ ในครั้งนี้เราจะมาเล่าเกี่ยวกับประเภทของ Code Smell ประเภทสุดท้ายกัน

5. Code Smell แบบน้ําพึ่งเรือเสือพึ่งป่า (Couplers)

 

sqs-and-loose-coupling-17-638

หลักการพื่้นฐานในการออกแบบส่วนประกอบของซอฟแวร์ ศัพท์ที่จำเป็นต้องทราบมีสองตัวคือ  Coupling และ Cohesion
Cohesion คือ เป็นการบอกถึงความสอดคล้องกัน นั้นหมายความว่า ใน Class หนึ่่งคลา่ส Method ในคลาสนั้นๆควรจะต้องทำงานให้มีความสอดคล้องกัน การทำงานต่างๆที่ควรจะเป็นไปในทางเดียวกัน
Coupling คือ ระดับความเกี่ยวข้อง หรือ พึ่งพากันของ Object ต่างๆในระบบ  หากระบบใดมีความเกี่ยวข้องกันของ Object ที่สูงก็จะทำให้ระบบนั้นมีความอิสระนั้นต่ำ
สรุปอย่างตรงมาตรงไป การออกแบบส่วนประกอบของซอฟแวร์ที่ดี ต้อง Strong cohesion , loosely coupling นั้นก็คือ  พยายามเขียนโปแกรมให้สัมพันธ์สอดคล้องกันภายในคลาสให้มากที่สุด และพยายามลดความสัมพันธ์ระหว่าง class ให้น้อยที่สุด
Code Smell แบบน้ําพึ่งเรือเสือพึ่งป่า (Couplers) ก็เช่นเดียวกัน  คือ ความเกี่ยวข้องกันของ Class ต่างๆในระบบมีความเกี่ยวข้องกันมากเกินไป อาจจะทำให้เวลาทำการย้าย หรือ แก้ไข ก็ทำได้ลำบาก และเมื่อทำการแก้ไขส่วนใดส่วนหนึ่งของระบบ ก็อาจจะไปกระทบกับส่วนอื่นๆ ที่เกี่ยวข้องครับ Class ไม่เป็นอิสระต่อกัน

 

Bad-code-smells

สรุปหัวข้อประเภทของ Code Smell 

สรุปหัวข้อประเภทของ Code Smell ที่จะพูดถึงรายละเอียดในครั้งหน้าครับ
1. Code Smell แบบบวมๆ(Bloaters)

  • Long Method
  • Large Class
  • Primitive Obsession
  • Long Parameter List
  • Data Clumps

2. Code Smell แบบใช้ OO แบบผิดๆ(Object-Orientation Abusers)

  • Switch Statements
  • Temporary Field
  • Refused Bequest
  • Alternative Classes with Different Interfaces

3. Code Smell แบบเด็ดดอกไม้สะเทือนถึงดวงดาว (Change Preventers)

  • Divergent Change
  • Shotgun Surgery
  • Parallel Inheritance Hierarchies

4. Code Smell แบบเอาไว้ก่อน (Dispensables)

  • Comments
  • Duplicate Code
  • Lazy Class
  • Data Class
  • Dead Code
  • Speculative Generality

5. Code Smell แบบน้ําพึ่งเรือเสือพึ่งป่า (Couplers)

  • Feature Envy
  • Inappropriate Intimacy
  • Message Chains
  • Middle Man
  • Incomplete Library Class

จบ เนื้อหา ประเภทของ Code Smell แล้วครับในครั้งหน้าเราจะลงรายละเอียดต่อไปครับ

 

Stream Magento ทีม Code คุณภาพ

Sources

  • Refactoring: Improving the Design of Existing Code – Martin Fowler
  • Mäntylä, M. V. and Lassenius, C. “Subjective Evaluation of Software Evolvability Using Code Smells: An Empirical Study”. Journal of Empirical Software Engineering, vol. 11, no. 3, 2006, pp. 395-431.
0 0 Continue Reading →

มาทำความรู้จักกับ Google Analytics (ตอนที่ 1 Register & Install)

Hero-Circle_74579c96-7aa5-41b1-8742-99148b31f745_2048x2048

 

หากพูดถึงบริการของ Google  ซึ่งมีอยู่มากมายครับ มีทั้งฟรีและเสียตังค์  สำหรับเนื้อหาในบทนี้จะขอพูดเกี่ยวกับบริการของ Google ที่ชื่อว่า  Google Analytics  สำหรับคนที่พัฒนาเว็บไซต์จะรู้จักบริการตัวนี้เป็นอย่างดี  เพราะว่ามันเป็นเครื่องมือที่ใช้ในการเก็บข้อมูลและวิเคราะห์ข้อมูลแบบละเอียดได้เป็นอย่างดี เกี่ยวกับการเข้ามาใช้งานเว็บไซต์ของเรา ทำให้เราสามารถติดตามผู้ใช้งานได้ง่ายขึ้น


เราจะใช้งานบริการ Google analytics ได้อย่างไร ?

ก่อนอื่นต้องมี Email Account ของ Gmail กันก่อนครับ  หากใครยังไม่มีก็รีบๆ สมัครกันก่อนนะครับ  จากนั้นไปที่เว็บไซต์นี้ได้เลยครับ  คลิกเพื่อไปยัง Google analytics  หลังจากที่เรา Sign in เข้าสู่ระบบและมี Account เป็นของตัวเองแล้ว  เราจะมีขั้นตอนที่จะต้องปฏิบัติตามอยู่ 3 ขั้นตอนดังนี้ครับ


เริ่มสมัครใช้งาน Google Analytics

การสมัครบัญชีผู้ใช้งาน จะสามารถติดตามได้ 2 แบบได้แก่  เว็บไซต์  และ แอพบนอุปกรณ์เคลื่อนที่  โดยการกรอกรายละเอียดจะแตกต่างกันออกไป

  • เว็บไซต์  ผู้สมัครจะต้องกรอกรายละเอียดดังนี้
    • ชื่อบัญชีผู้ใช้งาน ให้ใส่เป็นชื่อองค์กรของคุณครับ
    • ชื่อเว็บไซต์
    • เลือกหมวดหมู่ของเว็บไซต์
    • URL ของเว็บไซต์ โดยมีให้เลือกทั้ง http, https
    • เขตเวลาการรายงาน ผมเลือกเป็น ไทย : (GMT+07:00) กรุงเทพ
    • การตั้งค่าการเปิดเผยข้อมูล  ตรงนี้ระบบจะเลือกไว้ให้อยู่แล้วครับ หากผู้ใช้งานไม่ต้องการบริการเพิ่มเติมก็สามารถเลือกออกก็ได้ครับ
    • จากนั้นกดปุ่ม รับรหัสการติดตามครับ โดย Google จะให้เราอ่านเงื่อนไขให้การใช้บริการที่มีบอกไว้อย่างละเอียดครับ เมื่ออ่านครบแล้วก็กดยินยอมเงื่อนไขไปครับ ประมาณ 16 เงื่อนไขแล้วระบบจะเข้าสู่เพจ  ผู้ดูแลระบบเพื่อตั้งค่าต่อไป

 

ติดตั้ง โค๊ดติดตาม อย่างถูกวิธีให้กับแอพิเคชั่นของคุณ

สำหรับโค๊ดติดตามที่ Google Analytics  ออกให้จะใช้เชื่อมต่อกันระหว่าง Google Analytics และ แอพิเคชั่น โดยผู้พัฒนาจะต้องนำโค๊ดติดตามไปติดตั้งทุกๆ หน้าของแอพิเคชั่น หรือเว็บไซต์ จากนั้น Google Analytics ก็สามารถตามเก็บข้อมูลจากเว็บไซต์ของเราได้แล้วครับ

  • JavaScript :  อันนี้จะเป็น script ที่เราสามารถ copy ไปติดตั้งที่ เพจของแอพิเคชั่นหรือเว็บไซต์ได้เลยครับ

บริการอื่นๆ ที่ Google เตรียมไว้ให้ และสามารถลิงค์เข้ามาใช้งานได้เลย !
  • Google AdWords
      • AdSense ช่วยคุณสร้างรายได้ด้วยการแสดงโฆษณาที่เกี่ยวข้องกับผู้ชมของคุณบนเว็บไซต์ของคุณเอง เชื่อมโยงความสัมพันธ์เมตริกหลักๆ ของ AdSense อย่าง eCPM กับการแสดงหน่วย โดยใช้ข้อมูลเพิ่มเติมจาก Analytics

     

  • Google AdSense
      • AdWords คือโปรแกรมโฆษณาออนไลน์ที่ช่วยให้คุณเข้าถึงลูกค้าและทำให้ธุรกิจเติบโตขึ้น ปรับปรุงแคมเปญโฆษณาของคุณและวิเคราะห์การเดินทางของลูกค้าตลอดทั้งเส้นทาง ตั้งแต่การคลิกโฆษณาไปจนถึงการทำ Conversion

     

  • Google Ad Exchange
      • Ad Exchange ช่วยคุณสร้างรายได้ด้วยการแสดงโฆษณาที่เกี่ยวข้องกับผู้ชมบนเว็บไซต์ของคุณเอง เชื่อมโยงเมตริก Ad Exchange ที่สำคัญ เช่น eCPM และการแสดงผลหน่วย กับข้อมูลเพิ่มเติมจาก Analytics

     

  • BitQuery
    • Google BigQuery เป็นเครื่องมือจาก Google Developers ที่ทำให้สามารถทำการสืบค้นในชุดข้อมูลขนาดใหญ่ได้อย่างรวดเร็วเป็นพิเศษ คุณสามารถส่งออกข้อมูล Session และ Hit จากบัญชี Google Analytics Premium ไปยัง Google BigQuery เพื่อที่จะเรียกใช้การสืบค้นในข้อมูล Analytics ทั้งหมดของคุณได้

     

  • Search Console
      • Search Console สามารถช่วยให้คุณเข้าใจว่าผู้ใช้พบเว็บไซต์ของคุณผ่านการค้นหาของ Google ได้อย่างไร ค้นหาวิธีที่จะดึงดูดความสนใจมายังเว็บไซต์มากขึ้นและจัดลำดับความสำคัญของ งานพัฒนาซอฟต์แวร์

     

    สำหรับตอนที่ 1 เราได้เรียนรู้การสมัครและการติดตั้งโค๊ดติดตามให้กับเว็บไซต์ไปแล้วครับ ทีนี้ Google Analytics ก็เข้าไปเก็บข้อมูลการเข้าใช้งานของ User ได้แล้วครับ เมื่อ User เข้าไปใช้งานเว็บไซต์เราและเปิดไปแต่หน้าเพจ  Script ที่ถูกติดตั้งไว้แต่ละหน้าก็จะส่งข้อมูลมาเก็บไว้ที่ Google Analytics ครับ  และ Admin สามารถมาดูรายงานนั้นได้ภายหลังซึ่งได้เลยว่าละเอียดมาก แต่ต้องตามไปอ่านในบทความตอนที่ 2 นะครับ สำหรับวันนี้พอแค่นี้ก่อนครับ  ขอบคุณมากนะครับสำหรับการเข้ามาอ่าน 🙂

 

 

0 1 Continue Reading →

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายการใช้คุกกี้ และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้เพื่อการวิเคราะห์

    คุกกี้ประเภทนี้จะทำการเก็บข้อมูลการใช้งานเว็บไซต์ของคุณ เพื่อเป็นประโยชน์ในการวัดผล ปรับปรุง และพัฒนาประสบการณ์ที่ดีในการใช้งานเว็บไซต์ ถ้าหากท่านไม่ยินยอมให้เราใช้คุกกี้นี้ เราจะไม่สามารถวัดผล ปรังปรุงและพัฒนาเว็บไซต์ได้

Save