Month: May 2019

  • การทดสอบซอฟต์แวร์ (Software Testing) – 7 ข้อมูลที่ผู้ทดสอบต้องทราบก่อนเริ่มการทดสอบซอฟต์แวร์

    บทความนี้ ไม่ได้เกี่ยวข้องกับ 7 สิ่งมหัศจรรย์ของโลกนะคะ (ก็แหงอ่าาจิ) แต่ผู้เขียนจะนำเสนอ 7 ข้อมูลที่ผู้ทดสอบต้องทราบก่อนเริ่มการทดสอบซอฟต์แวร์ (นอกเหนือจากความรู้เกี่ยวกับ Software Testing ที่ทุกท่านต้องทราบกันดีอยู่แล้ว) ซึ่งได้รวบรวมมาจากประสบการณ์ของผู้เขียนเองเผื่อจะเป็นประโยชน์สำหรับผู้ทดสอบท่านอื่น ๆ ค่ะ ตามตารางข้างล่างนี่เลยยยค่ะ

    ข้อมูลที่ผู้ทดสอบต้องทราบก่อนการทดสอบซอฟต์แวร์

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

  • การทดสอบซอฟต์แวร์ (Software Testing) – #2 (Step.1) ผู้ทดสอบรับการถ่ายทอดการทำงานของซอฟต์แวร์ที่จะทดสอบจากนักพัฒนาโปรแกรม

    จากตอนที่ 1 เราได้ทราบภาพรวมกิจกรรมและขั้นตอนต่างๆ ทั้งหมดในการทดสอบซอฟต์แวร์กันไปแล้ว ตอนที่ 2 ผู้เขียนจะลงลึกในรายละเอียดขั้นตอนที่ 1 ของการทดสอบซอฟต์แวร์กันค่ะ โดยขั้นตอนที่ 1 นั่นก็คือ

    1. ผู้ทดสอบรับการถ่ายทอดการทำงานของซอฟต์แวร์ที่จะทดสอบจากนักพัฒนาโปรแกรม

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

    ผู้เขียนขอย่อยการดำเนินการในขั้นตอนที่ 1 เพื่อให้เข้าใจง่าย ๆ ตาม Flowchart นี้นะคะ

    ขั้นตอนการถ่ายทอดการทำงานของซอฟต์แวร์

    อธิบายดังนี้ ค่ะ

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

    2. เมื่อได้วันเวลากันเรียบร้อยแล้ว ผู้จัดการโครงการก็แจ้งวันเวลาที่นักพัฒนาโปรแกรมจะถ่ายทอดการทำงานของซอฟต์แวร์ให้กับผู้ทดสอบรับทราบค่ะ (PM ซึ่งถือว่ามีอำนาจการจัดการบริหารในทีม ก็จะมาแจ้งให้ทราบบ อิอิ สบายใจกันทุกฝ่ายค่ะ)

    3. เมื่อถึงวันเวลาตามที่ได้นัดหมายไว้ นักพัฒนาโปรแกรมก็จะมาถ่ายทอดการทำงานของซอฟต์แวร์ให้กับผู้ทดสอบค่ะ ในขั้นนี้โปรแกรมเมอร์ต้องถ่ายทอดการทำงานของซอฟต์แวร์ให้กับผู้ทดสอบอย่างละเอียด และจัดเตรียม Software Requirements Specification และ Functional Design ของซอฟต์แวร์มาให้กับผู้ทดสอบด้วยนะคะ (จะได้ใช้เป็นข้อมูลตอนทดสอบค่ะ บางทีที่จดๆๆ เข้าใจมา ก็อาจจะผิดพลาดได้)

    –> ในการถ่ายทอดการทำงานของซอฟต์แวร์

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

    –> โดยในระหว่างการถ่ายทอดการทำงานของซอฟต์แวร์ หากผู้ทดสอบมีข้อสงสัยเกี่ยวกับการทำงานของซอฟต์แวร์

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

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

    ส่วนบทความนี้มาต่อที่ขั้นตอนถัดไปกันก่อนนะคะ

    4. เมื่อผู้ทดสอบทราบข้อมูลก่อนการทดสอบซอฟต์แวร์แล้ว ให้บันทึกข้อมูลเหล่านั้นลงในฟอร์มบันทึกการทดสอบและผลการทดสอบส่วนที่ 1 คือ Test Information ที่ได้จัดเตรียมไว้ค่ะ ตัวอย่างค่ะ

    ตัวอย่างการบันทึกข้อมูล Test Information ของโปรแกรมระบบเอกสารอิเล็กทรอนิกส์

    และขั้นสุดท้ายยยยยยยยยยยยย

    5. ผู้ทดสอบรวบรวบการทำงานทั้งหมดของซอฟต์แวร์ที่จะทดสอบโดยรวบรวมจาก Function หรือ Use Case ของซอฟต์แวร์ซึ่งตรงตามข้อกำหนดของซอฟต์แวร์ที่ได้ระบุไว้ (หากโปรแกรมมีผู้ใช้หลายบทบาทให้แยก Task Test ตามบทบาทการใช้งาน) โดย Function เหล่านั้นจะถูกบันทึกเป็น Task Test ในการทดสอบและระบุ Task Test No. เอาไว้ (1 Task Test เท่ากับ 1 ชุดการทดสอบ) เพื่อเตรียม Test Step และออกแบบ Test Case สำหรับทดสอบแต่ละ Task Test ในขั้นตอนต่อไป

    สำหรับ Task Test No. นั้นแนะนำให้ตั้งโดยใช้ตัวอักษรย่อเพียงสองถึงสามตัวและตามด้วยตัวเลขที่จะเรียงลำดับไปเรื่อย ๆ เช่น TE001 เป็นต้น

    Task Test คือ ชุดการทดสอบของแต่ละการทำงาน (Function) ต่าง ๆ ของซอฟต์แวร์

    ตัวอย่างค่ะ

    ตัวอย่างการรวบรวม Task Test ที่จะทดสอบของโปรแกรมระบบเอกสารอิเล็กทรอนิกส์

    สำหรับรายละเอียดของขั้นตอนที่ 1 ก็มีเท่านี้ค่ะ ส่วนบทความหน้านั้น ผู้เขียนจะมาแชร์ข้อมูลที่ผู้ทดสอบต้องทราบก่อนเริ่มการทดสอบซอฟต์แวร์ไว้ให้นะคะ และบทความถัดไปจะลงลึกในรายละเอียดขั้นตอนที่ 2 (#3) กันต่อค่ะ

  • HelpNDoc – #1 (หุบ ๆ ย่อ ๆ) กำหนดการแสดงผล Table of contents เริ่มแรกให้กับเอกสาร HTML

    บทความนี้จะขอแนะนำให้กับผู้ใช้งานโปรแกรม HelpNDoc ในการสร้างเอกสารกันอยู่ค่ะ ว่าเราสามารถกำหนดการแสดง table of contents ของเอกสารชนิด HTML ที่เราได้ generate ได้ว่าจะให้แสดงผลเริ่มต้นกับผู้อ่านเมื่อเปิดเอกสารอย่างไรค่ะ

    โดยสามารถกำหนดได้ว่าจะให้ table of contents ของเอกสารของเรานั้น ขยายไปที่ topic ของ contents ใน Level ใด

    —> วิธีการกำหนดการแสดงเริ่มแรกให้กับ table of contents ของเอกสารของเรานั่นง่ายมาก ๆ มาเริ่มกันเลยยย

    ในขั้นตอนการ Generate เอกสารให้เป็น Html เมื่อเรา Click Generate Document และเลือก ฺBuild เอกสารเป็น html นั้น จะพบลิงก์ Customize ให้คลิกลิงก์ดังกล่าว เพื่อเข้าไปกำหนดค่าต่างๆ ให้กับเอกสารของเรากันค่ะ

    เมื่อคลิก Customize ให้สังเกตในแท๊ป Template settings และเลื่อนลงไปในหัวข้อ Table of content expand level ทำการเลือก level ของ topic contents (เริ่มต้นจาก level 0) ที่เราต้องการให้แสดงเริ่มต้นเมื่อเปิดเอกสารขึึ้นมา แล้วคลิกปุ่ม Generate เท่านี้ก็เป็นอันเสร็จเรียบร้อยแล้วค่ะ

    มาดูผลลัพธ์กันเลย เมื่อเราเลือก เป็น Level 0 จะเห็นได้ว่า เมื่อเปิดเอกสารขึ้นมาในครั้งแรก table of contents ของเอกสารของเรา ก็จะแสดงแบบขยายในระดับ level 0 (หัวข้อแรก) เท่านั้นค่ะ แต่ยังไงไม่ต้องเป็นห่วงนะคะ ไงก็สามารถกดย่อขยายหัวข้อที่มีอยู่ของเอกสารได้ทั้งหมดอยู่ดีค่ะ เป็นแค่การแสดงผลเริ่มแรกเมื่อเปิดเอกสารเท่านั้น

    ลองเลือกเป็น Level 2 กันค่ะ ก็จะได้หน้าตาออกมาแบบนี้

    เป็นยังไงบ้างคะ ง่ายมากเลยใช่มั้ยคะ ไว้บทความหน้า จะมาแนะนำเทคนิคเล็ก ๆ น้อย ๆ ในการใช้งานโปรแกรม HelpNDoc กันอีกนะคะ สำหรับบทความนี้ก็มีเพียงเท่านี้ค่า ขอบคุณค่ะ 😉


  • เล่าเบื้องหลังการสร้าง www.psudev.info

    “กรุงโรมไม่สร้างแค่วันเดียว” ฉันใดฉันนั้นเพื่อให้เครือข่ายนักพัฒนาแอพพลิเคชั่น (เหล่าโปรแกรมเมอร์) ของมหาวิทยาลัยสงขลานครินทร์ เกิดการร่วมกลุ่มกันอย่างเป็นรูปธรรมกันมากขึ้น จึงมีแนวคิดจะสร้างเว็บไซต์ลักษณะที่เป็นฐานข้อมูลรวบรวมรายชื่อสเหมือนสมุดหน้าเหลือง (เด็กสมัยใหม่อาจจะงง!) www.psudev.info เพื่อเป็นข้อมูลไว้ติดต่อกันสามารถค้นหาได้สะดวก คอนเซปคือต้องพัฒนาได้ง่ายและรวดเร็ว เป็น https ไม่ต้องเสียค่า cert สามารถออนไลน์ได้ทั่วโลก ไม่มีวันล่ม ไม่ต้องดูแลอินฟา และไม่รอช้าานั่นเริ่มกันเลยครับ…

    (more…)
  • วิธีสร้างสมุดโทรศัพท์ของหน่วยงานด้วย Google Contact

    เคยเป็นไม๊ จะโทรศัพท์หาเพื่อนร่วมงาน แต่ไม่รู้ว่า เบอร์มือถือ เบอร์ที่โต๊ะ หรือ Email อะไร วิธีการที่บางหน่วยงานทำ คือ ทำแผ่นพับเป็นสมุดโทรศัพท์เก็บใส่กระเป๋าตังค์บ้าง เป็นกระดาษแปะบ้าง บางทีก็หาย บางทีก็ไม่ได้พกบ้าง หรือ บางทีทำเป็นเว็บให้ค้นหาบ้าง … บางแห่งถึงกับต้องลงแรงเรียน Mobile App ก็มี (อิอิ)

    จะดีกว่าไม๊ ถ้าแค่ฝ่ายบุคคล แค่รวบรวม ชื่อ นามสกุล ชื่อเล่น เบอร์มือถือ เบอร์โต๊ะ และ Email ใส่ Excel แล้วจากนั้น ใครใคร่จะ Import ใส่ Google Contact ของตนเองได้เลย แล้วหลังจากนั้น จะโทร จะค้นหา ก็สามารถทำในมือถือของตนเองได้เลย !!! ไม่ต้องพก ไม่ต้องติดตั้ง App เพิ่ม ใช้ได้ทั้ง iOS, Android และบน Computer ก็ยังได้

    มาดูกัน

    สร้าง Excel เก็บข้อมูล

    การนำเข้า (Import) ข้อมูลเข้า Google Contact มีทริคนิดเดียว คือ บรรทัดแรกของไฟล์ จะต้องเป็น Header ที่กำหนดชื่อตามรูปแบบมาตราฐาน กล่าวคือ ตั้งหัวข้อว่า “ชื่อ”, “นามสกุล”, “ชื่อเล่น”, “มือถือ”, “เบอร์โต๊ะ” อะไรอย่างนี้ +++ไม่ได้+++

    ต้องตั้งเป็น

    "Given Name","Family Name", "Name Suffix","Phone 1 - Type","Phone 1 - Value","Phone 2 - Type","Phone 2 - Value","Group Membership"

    Given Name = ชื่อ
    Familay Name = นามสกุล
    Name Suffix = ใช้เป็นชื่อเล่นก็ได้
    Phone 1 – Type = ประเภทโทรศัพท์อันที่ 1 (เช่น Mobile)
    Phone 1 – Value = หมายเลขโทรศัพท์อันที่ 1 (เช่น เบอร์มือถือ)
    Phone 2 – Type = ประเภทโทรศัพท์อันที่ 2 (เช่น Work)
    Phone 2 – Value = หมายเลขโทรศัพท์อันที่ 2 (เช่น เบอร์โต๊ะ)
    Group Membership = จะให้ Label ว่าอย่างไร

    ดังตัวอย่างนี้

    จากนั้น Save เป็นแบบ CSV File สมมุติชื่อว่า contact.csv

    นำเข้า Google Contact

    เปิด Gmail/Google Mail แล้วคลิกที่ App > Contacts
    ใน Google Contact คลิกที่ More > Import
    เลือกไฟล์

    เสร็จแล้ว ก็จะได้ใน Google Contact มี Label ตามภาพ (1 contact มีหลาย ๆ label ได้)
    ในภาพ จะเห็นว่า Contact ที่เพิ่งนำเข้าไป จะปรากฏใน Label cc2019, myContact และ Imported on 5/7 ซึ่งเป็น Default

    วิธีการนี้ มีข้อดีคือ แม้จะมี contact ที่ซ้ำกัน ก็ไม่เป็นไร เราสามารถ Merge ทีหลังได้ หรือ เลือกลบที่เป็น Label ของปีก่อน ๆ ได้ ถ้าต้องการ


    พร้อมใช้งานทันที

    เมื่อ Import เสร็จแล้ว ในมือถือที่ Sync กับ Google Account ที่เราเอา Contact ใส่เข้าไปก็จะสามารถค้นหาได้ทันที

    หาตามเบอร์โทรศัพท์ก็ได้

    เย ๆ