🔥 สวัสดีจ้า วันนี้แอดมินจะมาเพื่อน ๆ มารู้จักกับการทดสอบซอฟต์แวร์ในวิธีต่าง ๆ ซึ่งมันมีอะไรบ้างนั้น ไปดูเลยยย !!
.
👉 การทดสอบซอฟต์นั้นมีจุดประสงค์เพื่อค้นหาบั๊คหรือข้อผิดพลาดในโปรแกรม เพื่อให้โปรแกรมของเราทำงานได้ดีมีประสิทธิภาพ และตรงกับความต้องการของผู้ใช้มากที่สุดนั่นเองจ้า !!
.
แล้วมันมีกี่แบบกันนะ มาดูกันเลยจ้า
.
🔸 1) Unit Testing
อยู่ในช่วงแรกของการพัฒนาโปรแกรม เป็นการทดสอบการทำงานของโปรแกรมในแต่ละหน่วย ไม่ว่าจะเป็นการทดสอบการทำงานของฟังก์ชัน หรือการประมวลผลของโปรแกรม โดยส่วนใหญ่แล้วจะถูกทดสอบโดยโปรแกรมเมอร์ หรือนักพัฒนาโปรแกรม การทดสอบประเภทนี้จะช่วยให้ลดความผิดพลาดของโปรแกรม และสร้างความมั่นใจได้ว่าโปรแกรมสามารถทำงานได้อย่างถูกต้อง
.
🔸 2) Integration Testing
เป็นการทดสอบว่าโปรแกรมในแต่ละส่วนของเราสามารถทำงานร่วมกันได้อย่างถูกต้อง เช่น การรับ-ส่งข้อมูลจาก Database มายังหน้าเว็บ และการทำงานร่วมกันของ Front-end และ Back-end นั่นเอง โดยการทดสอบส่วนนี้ QA หรือ Tester จะเป็นคนทำ
.
🔸 3) System Testing
การทดสอบส่วนนี้จะทำก็ต่อเมื่อผ่านขั้นตอน Integration Testing มาแล้ว เพื่อดูว่าการทำงานของโปรแกรมถูกต้องสมบูรณ์หรือไม่ มีประสิทธิภาพยังไง รวมไปถึงการทดสอบความปลอดภัยของโปรแกรมด้วย
.
🔸 4) Regression Testing
เป็นการทดสอบโปรแกรมที่มีการเปลี่ยนแปลง หรือมีการแก้ไข กับส่วนอื่น ๆ ที่ไม่ได้แก้ไข เพื่อให้แน่ใจว่าโปรแกรมสามารถทำงานได้ตามเดิม โดยส่วนใหญ่แล้วจะเป็นการทดสอบของนักพัฒนาก่อนปล่อยหรืออัปเดตฟีเจอร์ใหม่ ๆ ของโปรแกรมนั่นเอง
.
🔸 5) Smoke Testing
เป็นการทดสอบประสิทธิภาพของโปรแกรม เพื่อดูว่าโปรแกรมสามารถทำงานได้อย่างปกติ และพร้อมสำหรับการทดสอบในขั้นถัดไป ซึ่งการทดสอบนี้ทำเพื่อให้มั่นใจว่าโปรแกรมในระยะเริ่มต้นสามารถทำงานได้อย่างถูกต้องนั่นเอง โดยการทดสอบส่วนนี้ QA หรือ Tester จะเป็นคนทำ
.
🔸 6) Alpha Testing
เป็นการทดสอบในส่วน User Acceptance Testing (UAT) ซึ่งจะเป็นการหาปัญหาหรือข้อผิดพลาดของโปรแกรมที่เป็นไปได้ทั้งหมดก่อนจะส่งมอบให้ผู้ใช้ ด้วยการจำลองสภาพแวดล้อมที่เป็นไปได้ขึ้นมา ข้อดีคือเราจะเจอข้อผิดพลาดหรือบั๊คในโปรแกรม และทำการแก้ไขก่อนถึงมือผู้ใช้นั่นเองจ้า ซึ่งการทดสอบส่วนนี้ QA หรือ Tester จะเป็นคนทำ
.
🔸 7) Beta Testing
เป็นการทดสอบโปรแกรมจากผู้ใช้งานจริง ๆ ซึ่งมันอยู่ในส่วนของ User Acceptance Testing (UAT) เพื่อให้ผู้ใช้สามารถลองใช้งานโปรแกรมเวอร์ชัน Beta ของเราจริง ๆ เพื่อนำข้อปรับปรุงหรือข้อเสนอเพิ่มเติมจากผู้ใช้ เพื่อมาแก้ไขโปรแกรมให้สมบูรณ์ก่อนปล่อยเวอร์ชันจริงออกไปนั่นเอง
.
🔸8) Stress Testing
เป็นการทดสอบความเสถียรและความน่าเชื่อถือของซอฟต์แวร์ เพื่อวัดความทนทานและความสามารถในการจัดการความผิดพลาดภายในสภาวะที่ไม่ปกติ เช่น ในภาวะที่เว็บไซต์มี load เยอะ ๆ มันสามารถทำงานได้อย่างปกติหรือไม่ เว็บจะล่มหรือไม่ ถ้าเป็นเช่นนั้นแล้วควรมีข้อความเตือนให้กับผู้ใช้ทราบอย่างไร หรือระบบสามารถกู้คืนเว็บไซต์ในสภาวะนี้ได้หรือไม่นั่นเอง
.
🔸 9) Performance Testing
เป็นการทดสอบประสิทธิภาพของซอฟต์แวร์และระบบ ว่าสามารถรองรับการทำงานได้มากหรือน้อยอย่างไร เช่น ถ้าคนเข้าใช้ระบบเยอะ มันจะช้าหรือจะล่มหรือไม่ ซึ่งมันจะทำให้สามารถบอกได้ว่าระบบของเรารองรับผู้ใช้ได้เท่าไหร่ และเอาข้อมูลนี้ไปกำหนดสเปคของฮาร์ดแวร์ได้เลย ซึ่งการทดสอบนี้สำคัญมาก ๆ เพราะมันจะเตรียมความพร้อมให้กับซอฟต์แวร์ของเราก่อนการใช้งานจริงนั่นเอง
.
หรือใครมีวิธีการเทสนอกเหนือจากนี้อยากจะแชร์ สามารถคอมเมนต์มาพูดคุยกันที่ด้านล่างได้เลยน้า ❤️
.
💥 Source : https://www.geeksforgeeks.org/types-software-testing/, https://performancelabus.com/software-engineering-testing-types/
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「user acceptance testing」的推薦目錄:
- 關於user acceptance testing 在 BorntoDev Facebook 的最讚貼文
- 關於user acceptance testing 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於user acceptance testing 在 矽谷阿雅 Anya Cheng Facebook 的最佳貼文
- 關於user acceptance testing 在 コバにゃんチャンネル Youtube 的精選貼文
- 關於user acceptance testing 在 大象中醫 Youtube 的最佳解答
- 關於user acceptance testing 在 大象中醫 Youtube 的最佳貼文
user acceptance testing 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
💥ทบทวนศัพท์วิศวะซอฟต์แวร์ DTAP กันดีไหม? ลืมหรือยัง?
เพราะตอนไปทำงานจริง
รับรองจะได้ยิน จะได้เห็น จะได้ไม่ต้องแปลกใจ
.
ปกติการพัฒนาซอฟต์แวร์ให้กับองค์กรต่างๆ (Enterprise)
สามารถแบ่งออกเป็นเฟส (Phase)
.
หลักๆ ก็จะแบ่งเป็น 4 เฟส
ศัพท์วิศวะซอฟต์แวร์
เรียกว่า DTAP ซึ่งย่อมาจาก 4 คำคือ
.
✔ Development
✔ Testing
✔ Acceptance
✔ Production
.
การแยกออกมา 4 แบบนี้
ยึดในมุมมองของการ
☑ Test ซอฟต์แวร์
☑ และการ deploy (เอาซอฟต์แวร์ไปขึ้นระบบ)
.
ด้วยเหตุนี้การพัฒนาซอฟต์แวร์
ก็จะแบ่งออกเป็น 4 environment
คำว่า environment หมายถึงสภาวะแวดล้อมของเครื่องเอาไว้ให้ซอฟต์แวร์มันมาทำงาน
(กินความรวมถึง software กับ hardware)
.
ทั้งนี้ environment ก็จะแยกออกมา 4 เฟส
เพื่อให้สะดวกในการทดสอบ
รวมทั้งการเขียนโปรแกรมด้วย
ดังรายละเอียดต่อไปนี้
.
🤴 1) เฟส Development
โปรแกรมเมอร์จะเข้ามาทำงานเขียนโปรแกรมอยู่ในเฟสนี้
environment ส่วนใหญ่ก็จะใช้ notebook
ซึ่งบริษัทเขาจะให้ยืมเอามาใช้งานเขียนโปรแกรม
จะทำ unit test ก็ช่วงนี้
โปรแกรมเมอร์จะงานหนักก็ช่วงนี้
เจอเร่งงาน โน่นนี้นั้น ก็ช่วงนี้
นอนไม่ได้ ข่มตาไม่หลับก็ช่วงนี้ (แซวเล่น)
.
👶 2) เฟส Testing
ทีม Tester ก็จะเข้ามามีบทบาท
เข้ามาทดสอบระบบในระดับการใช้งานเต็มสูบ
ก็จะมี environment แยกออกมาให้ทดสอบ
ซึ่งการ test ก็จะมีหลายแบบ
.
แต่ที่น่าจะได้ยินบ่อยๆ
ก็คือ SIT ไม่ได้หมายถึงนั่งนะ
แต่ย่อมาจาก "System integration testing"
หมายถึงทดสอบเพื่อเช็คว่าระบบต่างๆ
ว่าสามารถทำงานร่วมกันได้อย่างถูกต้องหรือไม่
.
อีกคำหนึ่งเช่น PEN TEST
ไม่ได้แปลว่า ทดสอบปากกา
แต่ย่อมาจาก "Penetration test"
หมายถึงทดสอบการเจาะระบบ หรือ hacker นั่นแหละ
เป็นการทดสอบความปลอดภัย (security)
.
หรืออย่าง Regression Testing
เป็นการทดสอบระบบใหม่
ในกรณีที่มีการ change ในโค้ด
ก็ต้องทดสอบซ้ำๆ ซากๆ
ดูว่าส่วนที่เปลี่ยนแปลงกระทบกับซอฟต์แวร์นั้นๆ
ทั้งในส่วนของ Functional และ Non-Functional หรือไม่
(พูดง่ายๆ เมื่อเราไปแตะแก้โค้ด ก็ต้องมีการทดสอบซ้ำอีกครั้ง ดูว่าการทำงานซอฟต์แวร์ต่างๆ ฟีเจอร์ต่างๆ ไม่เปลี่ยนไปแปลงไปนะ )
.
และ test แบบอื่นๆ ที่ไม่ได้กล่าวถึง
.
ฝั่งโปรแกรมเมอร์ ก็นั่งรอว่าจะมีงานตีกลับมาให้แก้อะไรหรือไม่ 😅
.
🧒 3. เฟส Acceptance
เฟสนี้จะเป็นการทดสอบของฝั่งลูกค้าเป็นหลัก
มีคำศัพท์เรียกว่า UAT ไม่ใช่ UHT นะ
มันย่อมาจาก "User Acceptance Test"
แปลตรงตัวว่าการทดสอบเพื่อยอมรับของยูสเซอร์ (ลูกค้า)
,
ลูกค้า (customer) หรือคนที่จ้างเราพัฒนาซอฟต์แวร์ให้
เขาจะมาทดสอบระบบเรา
(ปกติก็จะมีคนจากทีมเราไปประกบคอยช่วยเหลือลูกค้า)
.
ในเฟสนี้ก็จะมี environment ให้ลูกค้าทดสอบว่า
ตรงใจ ตรงตามที่ตกลงตอนจ้างงานหรือไม่
.
ถ้าลูกค้าหรือคนจ้างโอเค
เราก็จะโอเค ทุกคนต่างโอเค
ก็จะมีการลงนามอนุมัติ
จากผู้ใช้งานเป็นลายลักษณ์อักษร (UAT Sign Off)
เพื่อนำระบบไปใช้งานจริง
.
ถ้าไม่โอเคก็จะต้องตีกลับไปให้แก้ไขใหม่ 😅
.
🧑 4 เฟส Production
เฟสนี้คือช่วงใช้งานจริง
เป็นการเอาซอฟต์แวร์ขึ้นไปใช้งานจริงๆ
เป็น environment ของจริง
ที่ยูสเซอร์มาใช้จริงๆ
.
เป็นช่วงที่โปรดักงานซอฟต์แวร์ที่สร้างเสร็จแล้ว
ถูกปล่อยออกสู่สายตายูสเซอร์ให้เขาได้ใช้งาน
เล่นจริง เจ็บจริง ไม่ใช้สแตนอิน
ไม่มีการทดสอบอะไรอีกแล้ว
เป็นขั้นสุดท้าย จบกระบวนการพัฒนาซอฟต์แวร์
.
ทีมพัฒนาซอฟต์แวร์อย่างเราๆ
ก็พากันเรียกว่า Go live บ๊ายๆ
ขอให้ยูสเซอร์ทุกท่านโชคดี
.
✍เขียนโดย โปรแกรมเมอร์ไทย thai programmer
user acceptance testing 在 矽谷阿雅 Anya Cheng Facebook 的最佳貼文
矽谷軟體科技公司組織圖
聽過美國中大企業分工很細,好奇美國軟體科技公司的組織架構長什麼樣嗎?當然,每家公司都不一樣,職稱也稍微有所不同,但看一下,你適合哪個工作?
CEO / Department President/ General Manager 執行長/部門總經理
- Chief Product Officer 產品長
- Product Manager 產品經理
- Product Owner 產品負責人
- Product Specialist 產品專員
- Growth Manager 成長經理
- Program Manager 專案經理
- Scrum Mater 敏捷開發導師
- Technical Project Manager 技術專案經理
- UX Designer 用戶體驗設計師
- UI Visual Designer 視覺設計師
- UX Researcher 用戶體驗研究員
- Content Strategist 內容策略師
- Product Marketing 產品行銷
- User Acceptance Tester 用戶接受測試員
- Marketing Researcher 行銷研究員
- Chief Data Officer 數據長
- Data Engineer 數據工程師
- Digital Product Analyst 數位產品數據分析師
- Business Analyst 商業分析師
- Data Scientist/ Modeler 數據科學家/建模師
- Marketing Analyst 行銷分析師
- A/B Testing Analyst A/B測試分析師
- Chief Technology Officer 科技長
- Web Front-end Developer 網站前台工程師
- App Front-end Developer 應用程式前台工程師
- Back-end Developer 後台工程師
- QA Manager 品管經理
- Site Operation/Site Reliability Engineer 網站可靠性工程師
- Architectural Engineer 系統建構師
- Application Security Engineer 應用程式資訊安全工程師
- Machine Learning/AI Engineer 機器學習/人工智慧工程師
- Chief Marketing Officer 行銷長
- Brand Manager 品牌經理
- SEO Manager 搜尋引擎優化經理
- Paid Search Manager 關鍵字廣告經理
- Display Ad Manager 網路顯示廣告經理
- Email Marketing Manager 電子報行銷經理
- Traditional Media Manager 傳統媒體行銷經理
- Out of Home Media Manager 戶外廣告行銷經理
- Event Marketing Manager 活動行銷經理
- Activation Marketing Manager 店頭行銷經理
- Social Media Manager 社群媒體行銷經理
- Public Relations Manage 公關經理
- Community Manager 社群經營經理
- Affiliate Marketing Manager 結盟行銷經理
- Chief Finance Officer 財務長
- Accounting Manager 會計
- Finance Manager 財務
- Strategy Manager 策略師
- Chief Operation Officer 營運長
- Sales 業務
- Business Development Manager 商業發展經理
- Partner Manager 夥伴經理
- HR 人力資源
- IT 資訊科技
- Operation and Supply Chain 營運與物流
- Customer Service 客戶服務
- Legal 法務
- Procurement 採購
- Chief of Staff 特助
P.s. 我的專業是產品管理和行銷,所以其他部門的可能沒有很完整,參考就好。😊
P.s. 行銷部分通常軟體公司沒有這麼多職位,我是參考美國零售公司的組織架構。😄
__
❤️ 阿雅履歷範本借你用 https://bit.ly/2T6FX5S
❤️ 需要職涯建議,粉專傳訊息給阿雅!
❤️ 追蹤阿雅IG @AnyaCheng0908
❤️ 加阿雅linkedin https://www.linkedin.com/in/anyacheng/ (記得幫阿雅按讚技能喔)
❤️ 更多工作和實習機會在「慌世代拓荒時代」臉書群組
❤️ 五分鐘讓矽谷獵頭找到你(上)https://bit.ly/2vuP5Is
(下)https://bit.ly/3afc5d2 (記得幫我鼓掌 長按可以拍多下喔!)
❤️ 履歷上該不該寫推薦人? https://bit.ly/2Wegv0g