Skip to Content

Category Archives: Digital Business

ถอด Test Script ให้เป็น Robot Script (Robot Framework)

หลังจากที่ทำความเข้าใจกับ Requirement ของระบบงานแล้ว ต่อมา ก็คือการเขียน Test script พอเขียนเสร็จ ก็จะเป็นขั้นตอนของการลงมือ Test ระบบตาม Step ที่เขียนใน Test script ซีงในส่วนของวิธีการที่ทำจะ Test ก็แล้วแต่ว่า Case ไหนเราสามารถทำ Automate test ได้ หรือ Case ไหนที่เราควร Manual Test

โดยในบทความนี้เราจะกล่าวถึงการทำ Automate Test โดยใช้ Robot framework ค่ะ

          “ Robot Framework คือซอฟต์แวร์ Open Source ที่ใช้สำหรับการทำ Acceptance Testing และ ATDD (Acceptance Test-Driven Development) โดยมีรูปแบบ Syntax ที่เป็นภาษาเขียนธรรมดาทำให้การ Test ระบบไม่น่าเบื่ออีกต่อไป ”

 

ตัวอย่างประโยคในการเขียน Test Script

Case 1 : ลงชื่อเข้าสู่ระบบ Facebook  กรณีระบุ Username  และ Password ถูกต้อง ระบบจะแสดงหน้าหลักของเว็บไซต์ Facebook

11

 

จากตัวอย่าง case ข้างต้นเราก็จะเห็น Process การทำงานที่เรียงเป็นลำดับได้ดังนี้

12

 

จาก Process ดังกล่าว เราสามารถนำมาเขียนเป็น Script ใน Robot framework ได้ดังนี้

  1. เริ่มที่การวางโครงสร้างโดยใน sublime สามารถเรียกโครงสร้างของ Robot ได้โดยคลิกขวา > Robot Framework > Snippets

ก็จะปรากฎโครงสร้างส่วนต่าง ๆ ของ Robot ให้เลือกโดยที่เราไม่ต้องพิมพ์เองเลย

13

          บันทึกไฟล์ชื่อ case-1-facebook-login.txt ไว้ในโฟล์เดอร์ที่ต้องการ

14

  1. เมื่อสร้างโครงสร้างเรียบร้อยแล้วก็เริ่มเขียน Test case ได้เลย ในกรอบสี่เหลี่ยมสีชมพูคือคีย์เวิร์ด ที่สั่งให้สคริปทำงานนั่นเองค่ะ สามารถเข้าไปดู Keyword ใน Selenium2Library ได้ที่นี่

15

คำอธิบาย :

Note : ช่องว่างระหว่าง Keyword กับ Argument ต้องห่างกัน 2 วรรคขึ้นไป ไม่เช่นนั้น Robot จะถือว่าเป็น Keyword เดียวกัน

 

  • Open Browser https://www.facebook.com/    gc

คำสั่งเปิดเว็บไซต์ facebook  จากตัวอย่างจะเขียนตามด้วย  gc  คือจะเป็นการกำหนดเว็บบราวเซอร์เปิดโดยเว็บบราวเซอร์ Google Chrome แต่ถ้าไม่มีการกำหนด ก็จะเปิดเว็บไซต์ด้วย Default web browser นั่นคือ Firefox

  • Wait Until Page Contains โลโก้ Facebook

Wait Until Page Contains เป็นคำสั่งที่ตรวจสอบว่า เจอสิ่งที่เราคาดหวังหรือไม่ จากตัวอย่างคือ เมื่อเปิดเว็บไซต์ facebook ขึ้นมาจะต้องเจอ “โลโก้ Facebook” ซึ่งสิ่งที่เราคาดหวังเราจะหาได้โดยการกด inspec ในหน้าเว็บไซต์

16

          ทั้งนี้สิ่งที่เราคาดหวังอาจจะเป็นได้ทั้งข้อความ, รูปภาพ, Text box หรือ Element อื่น ๆ ก็ได้ แต่ Wait Until Page Contains จะใช้ในกรณีสิ่งที่เราคาดหวังเป็น Text เท่านั้น ถ้าสิ่งที่เราคาดหวังเป็นรูปภาพอาจจะใช้คีย์เวิร์ดอื่นแทน เช่น

Wait Until Page Contains Element    <<Element locator>>

          ซึ่ง Element locator ได้แก่

17

เป็นคำสั่งให้กรอกค่าลงไปใน Text box หรือ Text area ซึ่งระบุ Text box ที่ต้องการให้กรอกด้วย Element locator นั่นเอง

  • Input Password pass    xxx

คำสั่งนี้ลักษณะการทำงานจะเหมือนกับ Input Text แต่ค่าข้อมูลที่ระบุลงไปจะเป็นลักษณะของการกรอก Password

18

  • Click Button เข้าสู่ระบบ

เป็นคำสั่งให้คลิกปุ่ม

  • Wait Until Page Contains หน้าหลัก

ตรวจสอบว่าเมื่อคลิกปุ่มเข้าสู่ระบบแล้ว หากกรอกอีเมล์และรหัสผ่านถูกต้อง ระบบจะแสดงหน้าหลักของ Facebok

  • Close Browser

คำสั่งปิดบราวเซอร์ เมื่อเสร็จสิ้นการทำงาน

  1. หลังจากที่เราทำการเขียนครบทุกคีย์เวิร์ดแล้ว กดบันทึกอีกครั้งแล้วทำการรันโดยกด Ctrl+B Robot ก็จะทำงานโดยเริ่มจากคีย์เวิร์ดในบรรทัดแรกไปจนถึงบรรทัดสุดท้าย

19

20

เมื่อรันเสร็จสิ้น Sublime จะแสดงผลการรันดังนี้

21

 

นอกจากนี้ตัว Robot framework ก็จะ Generate Log file หลังจากที่เสร็จสิ้นการรันเป็น .html ไฟล์ ในโฟล์เดอร์เดียวกับไฟล์ .txt ของเราด้วยซึ่งจะมีลักษณะดังนี้

22

 

Note: คีย์เวิร์ด “Wait Until Page Contain” หรือ “Wait …”  เป็นคีย์เวิร์ดที่สำคัญและจำเป็นที่จะต้องมีหลังจากที่เกิดการกระทำกับระบบที่เราทำการ Test เช่น Mouse action ต่าง ๆ เนื่องจากเป็นการกำหนดว่า พอเกิดการกระทำจากคำสั่งใด ๆ แล้วผลลัพธ์เมื่อการกระทำนั้นเกิดขึ้นจะเป็นอย่างไร

 

________________________________________________________________________

บทความอื่น ๆ ที่เกี่ยวกับ Robot framework

________________________________________________________________________

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

ทัศนีย์ คัดเจริญ
Quality Assurance

 

0 6 Continue Reading →

การติดตั้ง Robot Framework

หลังจากที่ได้รู้จักกับ Robot Framework เบื้องไปแล้วจากบทความ มาทำความรู้จักกับ Robot Framework เบื้องต้น  ในบทความนี้จะกล่าวถึงขั้นตอนของการติดตั้งตัว Robot Framework กันนะคะ

สิ่งที่ต้องมี

  • Python version 2.xx เท่านั้น (Robot Framework ยังไม่รองรับเวอร์ชั่นที่สูงกว่า)
  • Get-pip.py
  • Sublime Text version 2 หรือ 3
  • Web Browser : Firefox

 

ขั้นตอนการติดตั้ง

  1. ดาวน์โหลดและติดตั้ง Python

เข้าไปดาวน์โหลด Python ได้ที่ https://www.python.org/download/releases/2.7.8/  หลังจากนั้นทำการติดตั้ง

  1. หลังจากนั้นทำการเซ็ต Path ของ Python ตามขั้นตอนต่อไปนี้

2.1 คลิกขวาที่ Computer

2.2 เลือก Properties

2.3 ปรากฎหน้า Advanced system settings

2.4 Environment Variables..

2.5 เลือก System Variables แล้วเลือก Path

2.6 คลิกปุ่ม Edit

2.7 จากนั้นทำการเพิ่ม Path “C:\Python27\;C:\Python27\Scripts\” ลงไป

1

  1. ดาวน์โหลดและติดตั้ง get-pip.py

3.1 ทำการดาวน์โหลด get-pip.py จาก  https://bootstrap.pypa.io/get-pip.py

3.2 หลังจากได้ไฟล์ get-pip.py แล้ว คัดลอกไฟล์ไปไว้ในโฟล์เดอร์ที่ต้องการติดตั้ง

3.3 ทำการติดตั้งโดยเข้าไปในโฟล์เดอร์ที่เก็บไฟล์ get-pip.py  ดับเบิลคลิกที่ไฟล์ ก็จะเป็นการเริ่มติดตั้ง

3.4 เปิด cmd (command prompt) เพื่อตรวจสอบเวอร์ชันของ pip ที่ทำการติดตั้ง โดยพิมพ์คำสั่งต่อไปนี้

pip –version

2

  1. ทำการติดตั้ง Robot Framework ผ่าน pip โดยพิมพ์คำสั่ง

 

pip install robotframework

  1. ทดสอบว่าติดตั้งสำเร็จและสามารถใช้งานได้ โดยพิมพ์คำสั่ง

 

pybot –version

3

  1. ติดตั้ง Library ที่จะใช้งาน โดยในที่นี้เราจะใช้งาน Selenium ก็สามารถติดตั้งโดยใช้คำสั่งต่อไปนี้

 

pip install robotframework-selenium2library

 

  1. ติดตั้ง Sublime Text Editor

7.1 ติดตั้ง Sublime Text เวอร์ชัน 2 หรือ 3 ในที่นี้เราจะติดตั้งเวอร์ชัน 2

7.2 ติดตั้ง Package Control โดยเข้าไปคัดลอกซอร์สโค๊ดจาก   https://sublime.wbond.net/installation#st2

6

        7.3 เมื่อติดตั้งเสร็จแล้ว ทำการเปิดโปรแกรม Sublime Text ขึ้นมา จากนั้นเลือก View เลือก Show Console จากนั้นนำซอร์สโค๊ดที่คัดลอกไว้ใน 7.2 มาวางใน Console รอให้มันทำการติดตั้ง Package Control สักครู่

8

        7.4 หลังจากนั้น ทำการปิดโปรแกรม Sublime แล้วเปิดอีกครั้ง เพื่อเป็นการ Restart โปรแกรม

7.5 เมื่อ Restart Sublime เรียบร้อยแล้วขั้นตอนสุดท้าย คือการ install package Robot Framework เพื่อสามารถรันผ่าน Sublime ไปที่ Preferance > Package Control

4

จากนั้นพิมพ์คำว่า install เลือก install package

5

พิมพ์ Robot Framework

9

 

________________________________________________________________________

บทความอื่น ๆ ที่เกี่ยวกับ Robot framework

________________________________________________________________________

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

ทัศนีย์ คัดเจริญ
Quality Assurance

 

 

0 0 Continue Reading →

Code Smell & Refactoring ตอนที่ 2

Code Smell & Refactoring ตอนที่ 2
จากครั้งที่แล้ว เรารู้จักความหมายของ Code Smell และ Refactoring กันแล้วนะครับ
วันนี้ Stream Magento ทีม Code คุณภาพ  มาพูดถึง Code Smell ในแต่ละชนิดกันครับ หากเรารู้ว่า Code Smell มีลักษณะอย่างไร เราก็จะป้องกันการเกิด Code Smell ได้ตั้งแต่ต้น และสามารถรู้จุดที่จะ Refactoring ให้ Code มีคุณภาพได้ครับ และอย่างไรก็ตามการใช้ Unit Testing Framework ตั้งแต่ต้นก็จะสามารถ Refactoring ได้ง่ายและปลอดภัย

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

1. Code Smell แบบบวมๆ(Bloaters)

pic-of-david-and-goliath

Bloaters ในที่นี้ มีนัยยะความหมายว่า ป่อง บวม พอง อะไรประมาณนี้ครับ และอีกความหมายหนึ่ง คือ ปลาเค็ม ซึ่งอาจจะเข้ากับความหมาย Code Smell ในเรื่องของกลิ่น มีตำนานของชาวยิวเรื่อง  เดวิดกับโกไลแอธ ในตำนานกล่าวถึง สงครามระหว่างชาวยิวและชาวฟิลิสไทน์ ในทัพฟิลิสไทน์ มีทหารตัวใหญ่ยักษ์พร้อมเกราะป้องกันและอาวุธครบมือ ชื่อว่า โกไลแอธ ไม่มีทหารยิวหน้าไหนกล้าต่อกร จนเดวิดเด็กหนุ่มเลี้ยงแกะชาวยิว อาสาสู้ศึกฟิลิสไทน์ โดยใช้เพียงก้อนหินและเชือกสลิง และชนะโกไลแอธด้วยการเหวี่ยงหิน กระแทกแสกกลางหน้าผากโกไลแอธจนสลบ จากนั้นก็ใช้ดาบของโกไลแอธตัดหัวโกไลแอธออกมา เห็นอะไรจากตำนานเรื่องนี้บ้างครับท่านผู้อ่าน

Bloaters  คือลักษณะของ Code, Method และ  Class ที่มีขนาดใหญ่ ทำงานหลายๆอย่างเสร็จสรรพในตัวมันเอง ลักษณะเหล่านี้ในระยะการเขียนโปรแกรมแรกๆอาจยังไม่ปรากฏขึ้น  แต่จะเกิดจากการเขียนส่วนเพิ่มเติมเข้าไป หรือขาดการวางโครงสร้างที่ดี และลักษณะ Bloaters  มีแนวโน้มสะสมโตขึ้นเรื่อยๆ ซึ่งจะเกิดผลเสียขึ้นในกรณีที่มีการเปลี่ยนแปลง การแก้ไขทำได้ยากเนื่องจาก อาจมีส่วนเกี่ยวข้องกับส่วนอื่นๆอีก มีความซับซ้อนมาก หรือถ้าพยายามเปลี่ยนแปลงโครงสร้างภายหลังทำให้ระบบพังเลยก็มี ดังนั้นในส่วนนี้จึงไม่มีใครอยากจะยุ่งเท่าไรนัก เป็นไปได้ว่า Code, Method และ  Class ที่มีขนาดใหญ่ ทำงานหลายๆอย่างเสร็จสรรพในตัวมันเอง แต่การเปลี่ยนแปลงเพียงเล็กน้อยนั้นก็เพียงพอที่จะทำให้ล้มเหลวหลายๆอย่างด้วยตัวมันเองได้เช่นกันครับ

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

use-your-tools

วิธีการหรือแนวทางการเขียนโปรแกรม แม้จะมีหลากหลายแบบตามการใช้งาน แต่ก็ปฏิเสธไม่ได้ว่า การเขียนโปรแกรมเชิงวัตถุ ( Object-oriented programming, OOP) ได้รับความนิยมนำมาพัฒนาในงานธุรกิจเป็นอย่างมาก OOP คือรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่ให้ความสำคัญกับ วัตถุ ซึ่งสามารถนำมาประกอบกันและนำมาทำงานรวมกันได้ โดยการแลกเปลี่ยนข่าวสารเพื่อนำมาประมวลผลและส่งข่าวสารที่ได้ไปให้ วัตถุ อื่นๆที่เกี่ยวข้องเพื่อให้ทำงานต่อไป โดยหลักการ OO มีหลักการขั้นตอนที่เป็นที่ยอมรับกันในระดับสากล แต่ก็ไม่แปลกที่มีการละเมิดหลักการเหล่านั้น หรือการใช้งานแบบผิด เนื่องจากผู้เขียนเองไม่ทราบหลักการนั้นๆ หรือขี้เกียจ หรือสุดแท้แล้วแต่เหตุผล ดังนั้น Object-Orientation Abusers ก็คือ โปรแกรมที่ไม่สมบูรณ์ตามหลักการ หรือผิดหลักการการเขียนโปรแกรมเชิงวัตถุนั้นเองครับ

เนื้อหาชักจะมากเกินไป ครั้งนี้เอาไว้เพียงแค่นี้ก่อน ในครั้งต่อ ๆ ไปเราจะมาพูดถึง Code Smell 3 ประเภท  ที่เหลือนะครับ

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 →

การตั้งค่า Shipping method ใน Magento 2

Magento 2 นั้น เราสามารถตั้งค่า rate การจัดส่งสินค้าได้ ทั้งหมด 4 แบบ

  1. Free Shipping
  2. Flat Rate
  3. Table Rates
  4. Dimensional Weight

 

อันแรกที่จะอธิบายคือการตั้งค่าแบบ Free Shipping เราสามาถตั้งค่าเพื่อดึงดูดลูกค้าของเราได้อย่างแน่นอน แล้วส่วนมากลูกค้าก็จะชอบเงื่อนไขแบบนี้มาก ตัวอย่างเช่น ถ้าเราซื้อสินค้าครบ  500 บาท ค่าจัดส่งสินค้าฟรี เป็นต้น

ขั้นตอนแรกในการตั้งค่า Free Shipping

  1. ไปที่ Stores -> Configuration-> Sale -> Shipping Methods -> Free Shipping
  2. ตั้งค่า Enable เป็น Yes
  • ตั้งชื่อ Title
  • หลังจากเพิ่ม Title แล้วก็ต้องใส่ Method Name เข้าไปด้วย
  • กำหนด Minimum Order Amount
  • ในกรณีที่เกิดข้อผิดพลาดเราสามารถกำหนดข้อความที่ต้องการแสดงได้ผ่านทาง Displayed Error Message
  • กำหนดพื้นที่การจัดส่งได้ว่าจะเลือกอนุญาตทุกประเทศเลยหรือเลือกเฉพาะบางประเทศ(All Allow Countries or Specific Countries)
  1. กรอกข้อมูลเสร็จแล้วให้ไปที่ Save Config

 

1

2

 

2. Flat Rate Shipping 

เจ้าของร้านค้าบนเว็บไซต์สามารถ fix ค่า ของการจัดส่งสินค้าในสินค้าแต่ละอันได้

ขั้นตอนในการกำหนดค่า Flat Rate Shipping

  1. ไปที่ Stores -> Configuration-> Sale -> Shipping Methods -> Flat Rate
  2. ตั้งค่า Enable เป็น Yes
  • กรอก Method name
  • Type ขึ้นอยู่กับตัวเจ้าของร้านเองเลยว่าจะกำหนด รูปแบบของ Type เป็น Per Order หรือ Per Item
  • ตั้งราคาที่เจ้าของร้านต้องการจะเก็บค่าขนส่งสินค้าจากลูกค้า
  • ในการคำนวนค่าธรรมเนียมค่าจัดส่งสินค้า Calculate Handing Fee สามารถกำหนดเป็นค่าคงที่ไปเลยก็ได้หรือจะกำหนดให้คิดเป็น Percent ก็ได้
  • ในกรณีที่เกิดข้อผิดพลาดเราสามารถกำหนดข้อความที่ต้องการแสดงได้ผ่านทาง Displayed Error Message
  • กำหนดพื้นที่การจัดส่งได้ว่าจะเลือกอนุญาตทุกประเทศเลยหรือเลือกเฉพาะบางประเทศ(All Allow Countries or Specific Countries)
  1. โดยกรอกข้อมูลตามช่องที่กำหนดให้มาแล้ว กด Save config

 

3

5

3.Table Rate Shipping

การคิดค่าขนส่งแบบ Table rate จะเป็นการคิดค่าขนส่งตามน้ำหนัก, ปลายทางที่ส่ง หรือ ราคาสินค้าที่ลูกค้าซื้อ

ขั้นตอนการตั้งค่า Table Rate Shipping

  1. ไปที่ Stores -> Configuration-> Sale -> Shipping Methods -> Table Rate
  2. ตั้งค่า Enable เป็น Yes
  • กรอก Method name ชื่อที่ตั้งนี้จะไปแสดงที่หน้า Checkout ด้วย
  • ขั้นตอนนี้เป็นขั้นตอนที่สำคัญนั้นก็คือเลือกคำนวณค่าจัดส่ง การคำนวณค่าจัดส่งจะถูกแบ่งเป็น 3 วิธีที่แตกต่างกัน
  • 1. Weight VS Destination
  • 2. Price VS Destination
  • 3. No. of Items VS Destination
  • ในการคำนวนค่าธรรมเนียมค่าจัดส่งสินค้า Calculate Handing Fee สามารถกำหนดเป็นค่าคงที่ไปเลยก็ได้หรือจะกำหนดให้คิดเป็น Percent ก็ได้
  • ในกรณีที่เกิดข้อผิดพลาดเราสามารถกำหนดข้อความที่ต้องการแสดงได้ผ่านทาง Displayed Error Message
  • กำหนดพื้นที่การจัดส่งได้ว่าจะเลือกอนุญาตทุกประเทศเลยหรือเลือกเฉพาะบางประเทศ(All Allow Countries or Specific Countries)
  1. โดยกรอกข้อมูลตามช่องที่กำหนดให้มาแล้ว กด Save config

 

7

8

 

4. Dimensional Weight

วิธีการนี้คือการคิดค่าขนส่งสินค้าตาม rate ของบริษัทส่งสินค้า เช่น FedEx ,DHL, UPS

สุดท้ายนี้ในการกำหนดค่าshipping method สำหรับร้านค้าออนไลน์ที่ใช้ magento 2 ผู้ใช้งานสามารถเลือกใช้ function ที่เหมาะสมกับธุรกิจของคุณได้ เพื่อเพิ่มยอดขายให้แก่ร้านค้าของคุณ ผู้เขียนได้ทดลองใช้ shipping method ระหว่าง magento 1 และ magento 2 ผู้เขียนได้เห็นว่ามีความแตกต่างกันเพียงเล็กน้อยในเรื่องของ interface แต่โดยส่วนตัวผู้เขียนชอบ interface ของ magento 2 มากกว่า

Kanyarat Povorasin

0 0 Continue Reading →

มูลค่ายอดขาย E-Commerce ในประเทศไทย – ภาคธุรกิจอิเล็กทรอนิกส์

มูลค่ายอดขาย E-Commerce ในประเทศไทย – ภาคธุรกิจอิเล็กทรอนิกส์

            ในบทความนี้เราจะเจาะมูลค่ายอดขายของภาคธุรกิจอิเล็กทรอนิกส์จะแบ่งออกเป็น 2 ส่วน ได้แก่

1.Consumer electronic ที่ครอบคลุมสินค้าจำพวกอิเล็กทรอนิกส์ทั้งหลาย เช่น TV, Notebook, Laptops, Smartphone, Tablet  ในกลุ่มนี้เราจะเห็นว่ามีการแข่งขันกันหลายเจ้าที่โด่งดังในบ้านเรา ไม่ว่าจะเป็น J.I.B. , Advice, BaNANA IT, IT City, AIS, True, Dtac ที่แข่งขันกันอย่างดุเดือด

2.Physical media ที่ครอบคลุมสินค้าจำพวก หนังสือ,DVD ,CD ,Blu-ray Disc ซึ่งในกลุ่มนี้มีผู้เล่นหลายเจ้า เช่น ร้านนายอินทร์, Se-ed, B2S ,ร้านหนังสือจุฬา เป็นต้น

เรามาดูว่ายอดขายประมาณการณ์ของภาคธุรกิจนี้ตั้งแต่ปี 2014-2020 เป็นอย่างไร

R1

*ข้อมูลมูลค่ายอดขายนี้เป็นตัวเลขประมาณการณ์โดยสำรวจจากการซื้อขายสินค้าที่จับต้องได้ (physical goods) และมีลักษณะ B2C ที่มีการซื้อขายผ่าน คอมพิวเตอร์ และ Mobile Devices

จากรูปด้านบน ภาพรวมมูลค่ายอดขายสินค้าผ่าน E-Commerce ในประเทศไทยของภาคธุรกิจอิเล็กทรอนิกส์มีแนวโน้มเพิ่มขึ้นอย่างต่อเนื่อง ในปี 2014 มีมูลค่าสูงถึง 1,076 ล้านดอลลาร์สหรัฐ คิดเป็นเงินไทยถึง 37,660 ล้านบาท และในปี 2015 ที่ผ่านมา 40,775 ล้านบาท มูลค่าเพิ่มขึ้นถึง 8.3%  ในปี 2016 คาดการณ์ว่าเพิ่มขึ้น 26% จากปี 2014 และเพิ่มขึ้นอย่างต่อเนื่องไปจนถึงปี 2020 ซึ่งคิดเป็นมูลค่า 1,909 ล้านดอลลาร์สหรัฐ คิดเป็นเงินไทยถึง 66,815 ล้านบาท ในภาคธุรกิจนี้มีปริมาณยอดขายที่สูงที่สุดของ E-Commerce

 

อัตราการเติบโตยอดขายภาคธุรกิจอิเล็กทรอนิกส์(คิดเป็น%)

G1

จากกราฟจะเห็นได้ว่าตั้งแต่ปี 2015 – 2020 สินค้าจำพวก Consumer electronic พุ่งจากปี 2015 ถึง 21.9% แต่จะแผวลงในปีต่อๆไป แต่ยังคงเป็นบวกอยู่ ในทางกลับกัน สินค้าพวก Physical media จากปี 2015 ตกลงไปเหลือ 3.9% แต่ในปีต่อๆไปเพิ่มขึ้นแต่ไม่มากนัก

จำนวน User ที่ซื้อสินค้าต่อปี

U1

จากกราฟจะเห็นได้ว่าตั้งแต่ปี 2014 – 2020 จำนวน user ที่ซื้อสินค้าทั้ง Consumer electronic และ Physical media เพิ่มขึ้นอย่างต่อเนื่องที่น่าสนใจคือ สินค้าพวก Physical media มีจำนวน User เพิ่มขึ้น 2 เท่าจากปี 2014 ถึง 2020 เป็นไปได้ว่าลูกค้าเปลี่ยนพฤติกรรมจากการอ่านพวก Hard Copy มาเป็นรูปแบบอิเล็กทรอนิกส์แทน ซึ่งในปัจจุบันจะเห็นได้จากธุรกิจนิตยสาร image ได้เปลี่ยนจากหนังสือนิตยสารมาเป็น e-magazine อย่างเต็มตัวเพื่อตอบพฤติกรรมของลูกค้า

ค่าใช้จ่ายเฉลี่ยต่อ User ในการซื้อสินค้าต่อปี (Average revenue per user)

A1

กราฟก่อนหน้าแสดงให้เห็นว่ามีจำนวน User ต่อปีที่เท่าไรที่ซื้อสินค้า คราวนี้มาดูว่าแต่ละ User มีการใช้จ่ายเท่าไรบ้าง

จากกราฟด้านบนตั้งแต่ปี 2014-2020 ค่าใช้จ่ายเฉลี่ยต่อ User ที่ซื้อสินค้า Consumer electronic แทบจะไม่เปลี่ยนแปลงเลยจะอยู่ในช่วง 3,500 – 4,000 บาท ซึ่งคล้ายคลึงกับสินค้า Physical media ที่ไม่ค่อยเปลี่ยนเช่นกัน อยู่ประมาณ 1,100 บาท

อัตราการเติบโตของภาคธุรกิจอิเล็กทรอนิกส์ ส่งผลให้มูลค่ายอดขายเพิ่มมากขึ้นอย่างต่อเนื่อง สาเหตุหลักๆ มาจากผู้ใช้สามารถเข้าถึง Internet ในประเทศเพิ่มมากขึ้นและอุปกรณ์ IT ต่างๆ มีราคาลดลงและคนรุ่นใหม่ยุค Gen Y,Z ที่เติบโตมาพร้อมกับเทคโนโลยีสมัยใหม่จะเป็นกลุ่มลูกค้าที่มีกำลังซื้อและมีศักยภาพในการผลักดัน E-Commerce ในอนาคต

Picture Credit: www.statista.com/

_______________________________________________________________________

ไปต่อกับบทความ ยอดขาย  E-Commerce ในประเทศไทยแยกตามภาคธุรกิจ

_______________________________________________________________________

จากข้อมูลทั้งหมด ทาง Stream IT Consulting มี Solution ที่ตอบโจทย์ E-Commerce ทุกภาคธุรกิจ ได้อย่างครบถ้วน อย่างแน่นอน

banner

สนใจที่จะใช้บริการ สามารถติดต่อได้ที่ฝ่ายขายของเรา marketing@stream.co.th เราเป็น Magento Partner หนึ่งเดียวในประเทศไทย

 

เขียนและเรียบเรียงโดย Kittiphat Dumrongprat

Business Analyst

0 1 Continue Reading →

TeCS 2016 : “How to engage your customers with facebook and line”
By 425Degree.com

11

          จากงาน TeCS : Thailand eCommerce Summit 2016 จัดที่โรงแรม Grand Hyatt Erawan เมื่อวันที่ 22 มิถุนายน ที่ผ่านมา มีธุรกิจ eCommerce ชั้นนำมากมายที่เข้ามาร่วมพูดคุยแลกเปลี่ยนมุมมอง และแนวคิดในการทำธุรกิจให้ประสบความสำเร็จ

ธุรกิจหนึ่งที่น่าสนใจอย่าง 425Degree.com เว็บไซต์จำหน่ายเคสโทรศัพท์และ Accesseries อื่น ๆ  ซึ่งมีช่องทางการจัดจำหน่ายผ่าน Social Network อย่าง Facebook และ Line โดยคุณ Vee Lertsaroj ทีมาพูดคุย Workshop ในหัวข้อ “How to Engage your Customers with Facebook and Line” ทั้งนี้คุณ Vee ได้พูดถึงแนวคิดที่น่าสนใจในการดึงดูดลูกค้าให้เข้ามาชมสินค้าใน Facebook Fanpage และทำอย่างไรไม่ให้เกิดการ Reject Page

 

คุณ Vee กล่าวว่า “Bad content is Picture and price

การขายแบบ Hard sale ถือว่าเป็น Bad content เมื่อโพสต์ในลักษณะนี้มากเกินไป ลูกค้าจะรู้สึกเบื่อ ผลสุดท้าย ก็จะเกิดการ Reject page

12

          และยังพบว่า แนวโน้ม ความสนใจของลูกค้าต่อโพสต์ในเพจ วิเคราะห์จากยอดกดไลค์และกดแชร์โพสต์พบว่า

13

          หากโพสต์เนื้อหาข่าว หรือบทความที่น่าสนใจ จะมียอดไลค์และแชร์เป็นจำนวนมาก แต่หากโพสต์ในลักษณะของการขาย ยอดไลค์และแชร์จะน้อย ทั้งนี้ วิธีการโพสต์ของเพจ 425Degree คือการสอดแทรกความรู้และข่าวสารประจำวันอื่น ๆ หรือข้อมูลที่เกี่ยวกับสินค้า เป็นการให้ข้อมูลความรู้แก่ลูกค้าไม่ให้ดูเป็น Hard sale มากเกินไป

และอีกหนึ่งจุดแข็งของเพจ 425Degree ก็คือ การทำวิดีโอรีวิวสินค้าแบบเจาะลึก ทำให้สินค้าดูมีความน่าสนใจและดึงดูดลูกค้าได้เป็นจำนวนมาก ซึ่ง ณ ขณะนี้มียอดกดติดตามเพจกว่า 1.3 ล้านคน!!

เรียกได้ว่าเป็นเป็นธุรกิจของคนรุ่นใหม่ที่ประสบความสำเร็จด้วย Social Commerce อย่างแท้จริง

ชมบรรยากาศในงาน TeCS 2016 เพิ่มเติมได้ที่นี่

 

 

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

ทัศนีย์ คัดเจริญ

Quality Assurance

 

 

0 0 Continue Reading →

บรรยากาศภายในงาน TeCS :Thailand eCommerce Summit 2016

บรรยากาศภายในงาน TeCS :Thailand eCommerce Summit 2016

เมื่อวันที่  22 มิถุนายน  2559 ทาง บริษัท สตรีมไอที คอนซัลติ้ง ได้เข้าร่วมงานสัมนา Thailand eCommerce Summit (TeCS)

ซึ่งถูกจัดขึ้นโดย Bangkok Entrepreneurs Co Ltd ณ โรงแรม Grand Hyatt Erawan Bangkok

งานนี้ ผู้ที่มีส่วนเกี่ยวข้องในงานด้าน eCommerce ให้การสนใจเป็นอย่างดีและได้เข้าร่วมงานกันอย่างเนื่องแน่น

โดยมีผู้เชื่ยวชาญที่ประสบความสำเร็จในด้าน eCommerce มาแชร์ประสบการณ์ อาทิ เช่น Lazada, Zalora, Facebook, Line, Google, Ascend, WeLoveShopping, Braintree (by Paypal), Nielsen, aCommerce, 2C2P, Sendit, WearYouWant และอื่นๆ

ทำให้ทาง บริษัท ได้เรียนรู้แนวทางในการพัฒนางาน eCommerce ให้ประสบความสำเร็จต่อไป

ภาพบรรยากาศภายในงาน

ถ่ายรูปทีมงานกันก่อนเข้างาน

ถ่ายรูปทีมงานกันก่อนเข้างาน

ต่อแถวลงทะเบียนเข้างาน คนร่วมงานเยอะมาก

ต่อแถวลงทะเบียนเข้างาน คนร่วมงานเยอะมาก

จุดลงทะเบียน

จุดลงทะเบียน

ห้องประชุมฟังผู้บริหารบรรยายเกี่ยวกับธุรกิจของตัวเองและการเติบโตของธุรกิจในปัจจุบัน

ห้องประชุมฟังผู้บริหารบรรยายเกี่ยวกับธุรกิจของตัวเองและการเติบโตของธุรกิจในปัจจุบัน

ห้อง workshop ในหัวข้อ "Elevate Your Sales with the New Facebook Page Shop" โดย facebook

ห้อง workshop ในหัวข้อ “Elevate Your Sales with the New Facebook Page Shop” โดย facebook

ห้อง workshop การบรรยายหัวข้อ "How to engage your customers with facebook and line" โดย 425 degree.com

ห้อง workshop การบรรยายหัวข้อ  “How to engage your customers with facebook and line” โดย 425 degree.com

Sendit

Sendit
ด้วยเทคโนโลยีติดตามสินค้าแบบ real-time และบริการเก็บเงินปลายทาง ที่ช่วยให้คุณขายออนไลน์ได้ง่ายขึ้น

Tapsey

บรรยากาศบูธ Tapsey
หามืออาชีพที่ใช่ ในราคาที่ชอบ

Omise

บูธ Omise
Payment Gateway คุณภาพสูง

Kanyarat Povorasin

0 0 Continue Reading →

Trends In B2B E-Commerce (Part 2)

 

Trends In B2B E-Commerce (Part 2)

ต่อจาก Blog ที่แล้ว จากผล Survey แนวคิดการลงทุนของผู้บริหารในปี 2016 นี้ อันดับจะเปลี่ยนไปอย่างไร มาดูกันครับ

b2bbuyer2.jpg

จากข้อมูลการ Survey ผู้บริหารที่คาดว่าลงทุนในด้าน Technology ของปี 2016

ที่มา Source: Forrester Research Inc., Internet Retailer

จากผลการ survey จะเห็นแนวโน้มในปี 2016 ของผู้บริหารว่า ธุรกิจ B2B อันดับ 1 ยังคงต้องการที่จะมี ระบบ E-commerce ถึง 58% และที่เลื่อนอันดับขึ้นมา คือ ต้องการให้ระบบนั้นสามารถ Integrate กับ ระบบบริหารจัดการหลังบ้าน ( ระบบคลังสินค้า  ระบบการเงิน  ระบบจัดการคำสั่งซื้อ ระบบ CRM ) ที่มีอยู่แล้ว ถึง 54 %  ซึ่งขึ้นมาจากอันดับที่ 3 ของปี 2015

อันดับที่ 3 ระบบต้องรองรับการใช้งานผ่านทาง Mobile หรือเป็น Native Application ที่รองรับ IOS หรือ Android ประมาณ 44% เลื่อนมาจากอันดับที่ 4

อันดับที่ 4 ระบบต้องมีการ Integrate กับ Channel ต่างๆ ไม่ว่าจะเป็นผ่าน Social Commerce (Face book, Line, Whatsapp) , Web Site, Telemarketing และอื่นๆ ถึง  39% ขึ้นมาจากอันดับที่ 6 ของปี 2015 จะเห็นจากการขยายตัวของการใช้งาน Social ด้านต่างๆ จึงทำให้เข้าถึงกลุ่มผู้ใช้ได้มากยิ่งขึ้น

อันดับที่ 5 ระบบต้องมีการจัดการ Content สามารถทำ CMS(Content Management System) ได้ ถึง 38%  เนื่องจากการทำ Content E-Commerce ส่วนใหญ่ทางแผนกการตลาดและการขายเป็นผู้จัดทำ จึงควรมี CMS เพื่ออำนวยความสะดวก โดยไม่ต้องพึ่งแผนก IT

อันดับที่ 6 ระบบต้องมีการจัดการข้อมูลสินค้า เช่น การตั้งราคา ,จัดตั้งโปรโมชั่น, ข้อมูลรายละเอียดสินค้า , Cross Sell, Up Sell, Related Product  ได้ถึง  35%

อันดับที่ 7  ระบบต้องมีเนื้อหานโยบายให้ถูกต้องตามกฏหมาย  เช่น  มีนโยบายการคืนสินค้า , การชำระเงิน , บริการหลังการขาย, วิธีการติดต่อ เป็นต้น ถึง 24%

จากข้อมูลทั้งหมด ทุกอันดับความต้องการจากมุมมองผู้บริหารธุรกิจ B2B ทาง Stream IT Consulting มี Solution ที่ตอบโจทย์ Commerce ทาง B2B ได้อย่างครบถ้วน อย่างแน่นอน

“From concept to Commerce

   “Can it really happen in less than 120 days ?”

        Cost-Effectively And Better Online store are made with Our Stream Service.

mProfile

สนใจที่จะใช้บริการ สามารถติดต่อได้ที่ฝ่ายขายของเรา marketing@stream.co.th เราเป็น Magento Partner หนึ่งเดียวในประเทศไทย

เขียนและเรียบเรียงโดย Kittiphat Dumrongprat

Business Analyst

0 0 Continue Reading →

Code Smell & Refactoring ตอนที่ 1

Code Smell & Refactoring ตอนที่ 1 

วันนี้ Stream Magento ทีม Code คุณภาพ  จะมาแบ่งปันประสบการณ์พัฒนาระบบในเรื่อง Code Smell และ Refactoring  เบื้องต้นเรามารู้จักความหมายของคำทั้งสองก่อน

ในการพัฒนาหรือการบำรุงรักษาซอฟแวร์นั้น สิ่งที่นักพัฒนาส่วนมากต้องการ :ความทนทานซอฟต์แวร์( robustness คือ เมื่อเกิดข้อผิดพลาดขึ้น เราจะยอมให้โปรแกรมทำงานต่อไป ), ใช้ง่าย-เรียบง่าย,นำกลับมาใช้ได้อีกครั้ง, ปรับเปลี่ยนได้ แต่ในการพัฒนาหรือการบำรุงรักษาซอฟแวร์นั้น นักพัฒนาส่วนมากจะมักพบคือ : ความเปราะบาง, ซับซ้อน, ไม่ยืดหยุ่น, และโค้ดอ่านไม่รู้เรื่อง ซึ่งทำให้ยากต่อการแก้ไข ยากต่อการนำมาใช้ใหม่ Code อ่านไม่ออกยุ่งเหยิง Code ซ้ำๆ Code ซับซ้อน ซึ่งมักเรียกว่า Legacy Code หรือ Spaghetti Code ใน Code เหล่านี้มี Code Smells มากมาย และผู้พัฒนาส่วนมากไม่รู้ว่า Code Smell คืออะไร

when-and-why-your-code-starts-to-smell-bad-3-638

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

architectural-refactoring-5-638

Refactoring คือ การจัดองค์ประกอบและโครงสร้างภายในของซอฟแวร์ใหม่ โดยทำการปรับปรุงส่วนที่เป็น Code Smell หรือโครงสร้างของซอฟแวร์ให้มีความเป็นมาตรฐาน โดยที่การเปลี่ยนแปลงนั้น ไม่มีผลกระทบต่อผลลัพธ์เดิมของซอฟแวร์และการทำ refactoring ที่ดีและปลอดภัยนั้นมักทำร่วมกับการทำ Unit Testing Framework อย่างครอบคลุม ซึ่งจะการันตีได้ว่าผลลัพท์จะไม่ถูกเปลี่ยนแปลงไป
ซึ่งซอฟต์แวร์มีการพัฒนาไปนานๆ ก็มักจะมีการเพิ่มความซับซ้อน ซึ่งการทำ refactoring จะช่วยให้การออกแบบดีขึ้นและสามารถเข้าถึงปัญหาได้ง่ายกรณีที่ซอฟแวร์เกิดปัญหาขึ้น

แต่การทำ Refactoring ก็มีข้อจำกัดบางประการ ตัวอย่างปัญหาของการทำ Refactoring
– Refactoring ไม่สามารถแก้ไขได้ทุกปัญหา ต้องดูตามความเหมาะสมในการใช้
– Refactoring ถ้าเกี่ยวข้องกับ Database ควรระวัง
– Refactoring มีข้อจำกัดกับ Interface , Service หรือส่วนที่ Code ยุ่งจนเกินไป และเต็มไปด้วย bug ซึ่งจะไปกระทบกับหลายๆ ส่วน
– อย่าทำ Refactoring เมื่อใกล้เวลาส่งมอบงาน เพราะการทำค่อนข้างใช้เวลาพอสมควร

อย่างไรก็ตามหากเรารู้ว่า Code Smell มีลักษณะอย่างไร เราก็จะป้องกันการเกิด Code Smell ได้ตั้งแต่ต้น และการใช้ Unit Testing Framework ตั้งแต่ต้นก็จะสามารถ Refactoring ได้ง่ายและปลอดภัย

ในครั้งต่อ ๆ ไปเราจะมาพูดถึง Code Smell และ Refactoring ในแต่ละชนิด เครืองมือในการวิเคราะห์ และการทำงานของทีม Stream Magento

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

0 0 Continue Reading →

การเชื่อมต่อIonic Framework เข้ากับMagento

 

วันนี้จะมาแนะนำการเชื่อมต่อข้อมูลของ Magento เข้ากับ Ionic Framework แต่มาดูว่า ionic framework นั้นมันคืออะไร

Ionic Framework ถูกสร้างเพื่อให้เราสามารถพัฒนา App บนมือถือเพื่อให้ได้หน้าตาใกล้เคียงกับ Native app มากที่สุด แต่เราเรียก Ionic Framework ว่าเป็นเเบบ Hybrid app โดยใช้ Angular Js Cordova ในการพัฒนา ทำให้เราสามารถเขียน app ios และ android platform ได้สะดวกขึ้น

ตอนนี้เรามาดูวิธีการเชื่อมต่อ Ionic เข้ากับ Magento กัน

1.เราต้องเปิดการใช้งาน XMLConnect ใน Magento ของคุณก่อนโดยอัพเดทฟิวส์ active เป็น True ใน Mage_XmlConnect.xml

 

2

 

2.เข้าสู่ระบบ Magento Admin คุณจะเห็นปุ่ม Mobile ขึ้นมา แต่ถ้าปุ่ม Mobile ไม่เเสดงขึ้นมาให้ Clear Cache ในระบบก่อน

 

3

 

3.ไปที่ Mobile->Manage Apps->Add App เลือก Device ที่คุณต้องการจะใช้พอเสร็จแล้วจะได้ app code มาสำหรับเชื่อมต่อกับ Ionic

 

4

 

5

 

6

 

4.ติดตั้ง Ionic Framework ตามลิงค์นี้

5.หลังจากติดตั้งเสร็จแล้วให้ไปที่ folder ที่ตั้งชื่อไว้แล้วไปที่ www->js->เปิด app.js ขึ้นมาให้นำ URL และ App Code ไปเชื่อมต่อ

ตัวอย่าง

this.url = “http://127.0.0.1/magento/index.php/”

this.appCode = “defiph4”; /

6.หลังจากนั้นให้ run ionic serve เราก็จะได้เห็นข้อมูลสินค้าที่เชื่อมต่อกับMagento

Capture1

 

Kanyarat Povorasin

 

0 0 Continue Reading →

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

Privacy Preferences

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

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

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

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

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

Save