【大會報告】
2021 年一月份 #針對遺留代碼加入單元測試的藝術,目前公開名額剩下 7 位。(暫時保留幾張票給企業客戶)
單元測試是一切工程實踐的起點,沒有單元測試的 CI 就只是個沒有靈魂的 continuous build,更別說怎麼敢直上 production 或 UAT 了。
花在手動測試跟找問題的時間,大概可以讓你寫完單元測試再加上重構還綽綽有餘。
軟體業 20 年來最常見的疑惑就是:#為什麼你有時間debug卻沒時間寫測試?
要學單元測試,就不要只是在學那種工具、框架等級的簡介,那種自己看書、看影片、參加活動、看線上教學摸一摸大概就能跨過去了。重點在 實務上 大家面對的,都是又重、又髒、又臭的 legacy code ,怎麼在 legacy code 上優雅地開始加入功能、改善產品,才是值得花錢省時間、真正有價值的技能。
說這麼多,只是提醒還在觀望的朋友,我從自己出來培訓到現在,每一門課都是維持在爆滿的情況,晚了,就得再等。
但你的職涯,經得起這麼多年的等待嗎?
--
課程內容簡介:https://dotblogs.com.tw/hatelove/2020/08/21/Unit-testing-effectively-with-legacy-code-202101
花點時間去各大軟體公司探聽一下,不管是內訓或公開課學員的上課感想囉。
註:你想想看那些你想去的軟體公司,找我去內訓,面試你的人可能也是上過我的課的人。那面試過程中會出現怎樣的火花,會有怎樣的話題,會不會比別人多一份競爭優勢,會不會讓你更容易進入你想進去的公司,會不會讓你加入的團隊大家都是有一定能力、互相幫助跟學習成長的呢?
uat production 在 โปรแกรมเมอร์ไทย 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
uat production 在 ienaeliena.com Facebook 的最讚貼文
Hai,
Kepada yang berminat,dan masih mencari kerja. Syarikat dimana cik iena bekerja ada Tawaran Jawatan Kosong.
- Application Developer
- iOS/ Android Software Engineer
- Project Management Executive
- Accounts Executive
Kepada yang berminat sila email
detailed resume, working experience, current and expected salary ,contact number, and me as referral
**********************************************
Name : siti fazlina binti abd wahab
Position : Application Developer
Email : [email protected]
**********************************************
to:
job@ionnex.com
Job Description
1. Adminstration Executive
Responsibilities :-
Provide administrative support and assistance to superior
Manage the maintenance of office, equipment and environment
Manage documents and filing processes
Perform general administrative duties
Requirements :-
Candidate must possess at least a Diploma or SPM qualification
Conversant in English and Malay
Computer literacy is essential
Good interpersonal and communcation skills - with an open attitude and pleasant personality
2. Customer Service Executive
Responsibilities :-
Manage inbound and outbound call/email by providing optimum service to customers/partners.
Resolve customer service enquiries and issue promptly, ensure effective & timely follow up.
Maintain and ensure customer's records are updated into customer database accurately.
Liaise with company's clients in relatino to customer service issues.
Prepare contact reports and analysis on inbound/outbound call/email.
Support supervisor/manager to review work process, identify and resolve process gap through constructive feedback for continuous improvement where appropriate.
Requirements :-
Those with SPM/Pre-U with relevant customer service experience will be considered.
Preferably with at least 1 year of working experience in customer service/call centre industry.
Junior Executives specializing in Customer Service in a call-centre environment are encouraged to apply.
The candidate must have good communication skills over the phone, and be fluent in English and Bahasa Malaysia.
Ability to converse in Mandarin/Cantonese will be an added advantage.
Mature, resourceful, tactful and diplomatic with excellent listening skills.
Self-motivated individuals with integrity, drive to achieve targets and possess good organizational skills.
Computer Literacy is essential, especially in MS Word and Excel.
3. PHP Developer
Responsibilities :-
To develop applications based on customer’s requirements and specifications.
To perform User Acceptance Test (UAT) to ensure the application is compliant with user and business requirements.
To resolve issues regarding to application and project assigned.
To maintain and support the application.
To attend training and to do research & development of relevant knowledge and skills
To ensure that all information system operate according to internal standards.
To liaise and attend meetings with project owner or person in charge to perform duties or solving issues.
Requirements :-
Possess at least a Diploma, Advanced/ Higher/ Graduate Diploma, Bachelor’s Degree, Post Graduate Diploma or Professional Degree in Computer Science/ Information Technology or equivalent.
Required skill set (s): LAMP (Linux, Apache, MySQL, PHP).
Should have at least experience in web application/ product development using PHP.
Team player with good analytical skills and self- motivated.
Working experience in SMS service industry will be an added advantage.
Knowladge on MVC framework like Zend, Cake PHP, Code Ignitor etc.
4. Product Executive
Responsibilities :-
To check and source content.
To do compilation and monitoring on the required reports.
Accountable for customer service hotline to support all products and services.
Undertake any other tasks as may reasonably be required by the Company.
Requirements :-
Candidate must possess at least a certificate, Diploma, Bachelor Degree or with equivalent working experience.
Telco experience.
Strong interpersonal and communication skills.
Ability to work independently as well as in a team.
Fresh graduate applicants are encouraged to apply.
Prefer Malaysian Candidate.
5. Project Executive
Responsibilities :-
Understand and communicates customer's business directions and goals to the IONNEX team with objectives to generate and identify business opportunities and compelling business cases.
Maintain key customer relationships and develop and implement strategies for expanding the company’s customer base.
Responsible for preparation of business proposal as per superior guidance and approval.
Reviews all major deliverables (i.e. strategic brief, function spec, tech spec, etc.) to ensure quality standards and customer expectations are being address.
Works closely with necessary parties (internal & external) to ensure customer interest is properly address.
Support the development of product vision, strategy and roadmap in accordance to the company's overall strategy and goals
Gather customer needs; develop, document and execute business cases, business/product requirements, product development, GTM and post-launch activities.
Plan, develop, implement and manage marketing programs as well as to ensure efficient and effective marketing, advertising and promotional planning and implementation.
Support other activities of the product development process as needed by superior & the management.
Requirements :-
Candidate must possess at least a Certificate, Diploma or Degree, any field.
At least 1 year(s) of working experience in the related field is required for this position.
Required language(s): Bahasa Chinese, Malaysia, English.
Excellent communication and interpersonal skills.
Responsible, initiative and willingness to learn.
Able to work independently as well as in a team.
Prefer Malaysian Candidate.
Fresh graduates/ school leavers are encouraged to apply.
6. iOS / Android Software Engineer
Responsibilities :-
Work closely with our product and design teams to customise the mobile user experience for the iOS & Android platform.
Write client-side code, create fast, easy-to-use, high volume production applications, and develop prototypes quickly.
Prototype new and redesign features.
Analyze and optimize UI and back-end application code for efficiency and performance.
A focus on UI design principles and making apps work intuitively.
Contribute best-in-class programming skills to develop highly innovative, consumer-facing mobile products.
Requirements :-
1+ years of object-oriented software development experience.
1+ years mobile application development at the user interface and system levels.
1+ years building iPhone or iPad using Objective-C/C++ or Android applications in Java.
Knowledge of iOS SDK performance tools and optimisation techniques.
Excellent problem solving, critical thinking and communication skills.
The ability to collaborate with the design and back-end engineers teams to ensure a great experience for our users.
Be able to write elegant, readable, and well-documented code.
WEBSITE : http://www.ionnex.com/