06 Feb, 2021
Tương lai của kiểm thử di động
Sau khi đăng blog về tương lai của máy tính, một sinh viên phần mềm hỏi tôi: “Tại sao thầy nghĩ điện thoại thông minh là tương lai của máy tính? Nó chỉ là điện thoại với một số ứng dụng. Em biết Apple và Google đang khuyến khích mọi người phát triển apps cho họ nhưng em không thấy cơ hội nào cho những người không phát triển app di động mà chỉ muốn làm việc trong công nghiệp phần mềm.”
Tôi giải thích: “Công nghiệp điện thoại thông minh đang bùng nổ. Có cơ hội khổng lồ cho những người được chuẩn bị tốt để nắm lấy chúng. Lí do điện thoại thông minh có nhiều tiềm năng là ở số lớn người dùng toàn thế giới. Hai tới năm tỉ người dùng trong năm năm tới là cái gì đó bạn không thể bỏ qua được. Ngày nay, kết cấu nền ở một số nước là không rất tốt; truy nhập internet bị giới hạn và chậm. Nhiều nước không có băng rộng; cách duy nhất để truy nhập internet là hệ thống quay số điện thoại. Điện thoại di động làm thay đổi điều đó, đem lại cho mọi người phương án được kết nối. Điện thoại thông minh tăng thêm thuận tiện, tính năng và tốc độ cho người dùng kết nối và làm nhiều điều trực tuyến. Đó là lí do tại sao tôi tin trong vài năm nữa, điện thoại thông minh và máy tính bảng sẽ thay thế cho laptop và PC như máy tính tương lai.”
“Chúng ta hãy nhìn vào thị trường điện thoại thông minh. Ngày nay có hàng trăm hay hàng nghìn thiết bị điện thoại thông minh với các độ phân giải màn hình khác nhau, hệ điều hành, bộ nhớ và ngôn ngữ. Có trên 400 công ti điện thoại trên khắp thế giới; từng công ti có chuẩn, qui tắc và thủ tục riêng của nó. Do đó, việc tích hợp các ứng dụng điện thoại di động với hệ thông tin trở thành mấu chốt hơn và cần nhiều công nhân phần mềm để hỗ trợ cho nó. Bạn tìm đâu ra những công nhân này? Đại học có chuẩn bị cho sinh viên về cơ hội này không? Tăng số cấu phần điện thoại thông minh yêu cầu kiểm thử tích hợp. Sinh viên học kiểm thử tích hợp ở đây ngày nay? Điện thoại thông minh bao gồm nhiều cấu phần đa dạng và app phần mềm trong một thiết bị nghĩa là tăng nhu cầu về kiểm thử trắc nghiệm và kiểm nghiệm. Bao nhiêu trường đang dạy những kĩ năng này ngày nay? Với các cấu phần như nhắn tin, máy chơi đa phương tiện, MP3, máy ảnh, phương tiện xã hội, chat, gửi văn bản v.v., được tích hợp vào một thiết bị, đó là thách thức lớn cho người kiểm thử để chắc rằng mọi thứ làm việc hoàn hảo. Do đó, tôi tin thị trường cho kiểm thử điện thoại thông minh sẽ bùng nổ sớm. Ngày nay, mọi người chỉ thấy tiềm năng của phát triển ứng dụng cho điện thoại thông minh nhưng có nhiều cơ hội hơn trong ngành công nghiệp này. Chẳng hạn, cung cấp dịch vụ kiểm thử sẽ là cơ hội kinh doanh khổng lồ.”
Anh ta dường như ngạc nhiên: “Em chưa bao giờ nghĩ về điều đó, em chỉ thấy điện thoại thông minh là phương tiện thương mại của công ti điện thoại.”
Tôi bảo anh ta: “Bạn không một mình. Nhiều người nghĩ điện thoại thông minh chỉ là điện thoại. Họ không hiểu tiềm năng và xu hướng công nghiệp mà trong vài năm tới, điện thoại thông minh sẽ thay thế laptop và máy tính cá nhân. Nếu bạn nhìn vào số các công ti phần mềm phát triển các sản phẩm cho laptop và PC ngày nay rồi nhân lên vài trăm lần thì đó là điều thị trường tương lai sẽ là gì. Với hàng tỉ điện thoại thông minh được dùng trên toàn thế giới; với nhu cầu tăng lên về nhiều ứng dụng và nhiều tính năng hơn, thị trường này sẽ tạo ra nhiều việc làm cho người phát triển và kiểm thử app hơn là thị trường PC. Nếu thị trường PC tạo ra các tỉ phú như Bill Gates, Steve Jobs, và Mark Zuckerberg thì ai sẽ là người tiếp theo Bill Gates của công nghiệp điện thoại thông minh? Thị trường này bây giờ mở rộng cho cạnh tranh và phát kiến. Nếu bạn không thích phát triển apps, bạn có thể thực hiện kiểm thử di động. Một số app riêng lẻ là dễ kiểm thử nhưng có nhiều app cho công ti, app cho doanh nghiệp có kết nối với hệ thống CNTT của công ti với mục đích kinh doanh. Các app này phải nói chuyện với nhiều hệ thống bên ngoài dùng các tài nguyên ngoài nhiều như các giao thức HTTP hay WAP và chúng tất cả đều yêu cầu người kiểm thử có kinh nghiệm.”
Anh ta sung sướng: “Vậy thầy nghĩ thị trường này sẽ cần nhiều hơn là chỉ những người kiểm thử iOS và Android? Em chưa bao giờ nghĩ tới app doanh nghiệp và khía cạnh khác của thương mại điện tử. Ngày nay chúng ta thậm chí không có đủ người kiểm thử cho các ứng dụng laptop. Điều này sẽ tạo ra thiếu hụt hơn về người kiểm thử phần mềm.”
Tôi bảo anh ta: “Phần lớn các điện thoại thông minh tương lai sẽ được dùng cho B2B, B2C, và G2C đối với thương mại điện tử và chính phủ điện tử. Điều đó sẽ yêu cầu nhiều kiểm thử an ninh. Ứng dụng của điện thoại di động trong công nghiệp như tiếp thị, bán hàng, bán lẻ, ngân hàng, giải trí, tin tức, giao tác, thương mại, v.v. sẽ yêu cầu kiểm thử tích hợp phức tạp. Không kiểm thử hay có lỗi có thể phá huỷ các doanh nghiệp. Lỗi an ninh có thể gây tổn thương cho người tiêu thụ cho nên mọi công ti điện thoại đều phải có hướng dẫn kiểm thử chặt chẽ. Vì họ là công ti điện thoại chứ không phải công ti phần mềm, nhiều công ti sẽ phải khoán ngoài kiểm thử. Tôi nghĩ thị trường này cho kiểm thử di động sẽ tăng trưởng rất lớn sớm thôi. Vấn đề là bạn có tìm ra những người kiểm thử này trong khi thiếu hụt công nhân có kĩ năng không?”
Anh ta dường như rất quan tâm: “Đó là một tin tốt, còn có gì khác nữa không?”
Tôi giải thích: “Công ti điện thoại di động và các nhà chế tạo điện thoại di động (các nhà chế tạo thiết bị gốc – OEM) đang tìm các công ti chuyên môn trong khu vực này. Họ sẵn lòng trả nhiều hơn do độ phức tạp trong kiểm thử thiết bị di động. Tháng trước, khi tôi ở Hàn Quốc, một quan chức điều hành công ti OEM bảo tôi rằng hiện thời có hơn 1,000 kiểm thử cần cho từng thiết bị, với hơn 10,000 tổ hợp mô hình duy nhất được đưa ra hàng năm. Ngay cả sau khi tiến hành những kiểm thử như vậy, vẫn còn vài lỗi không được phát hiện mà công ti không biết tới mãi về sau. Phải tốn nhiều hơn nhiều để sửa chúng sau khi đưa ra cho nên tìm được công ti kiểm thử tốt và người kiểm thử giỏi là mấu chốt. Theo ông ấy, phải mất ít nhất 3 tháng để hoàn thành chu kì xác nhận. Ngay cả với kiểm thử tự động tại chỗ đối với các thủ tục kiểm thử thông thường, người bán chỉ có thể giảm được thời gian bớt vài ngày. Họ càng làm điện thoại mới chóng ra thị trường, họ sẽ càng làm được nhiều tiền hơn. Đó là lí do tại sao mọi công ti làm điện thoại đều cần kiểm thử chặt chẽ hơn, nhiều người kiểm thử hơn cho vấn đề của họ: “Chúng tôi tìm đâu ra những người kiểm thử giỏi?”
Vì biên giới địa lí không còn là hạn chế, mọi người sẽ dùng điện thoại di động để gọi đi mọi nơi và để truy nhập vào giao tác kinh doanh trên toàn cầu. Thiết bị di động ngày nay giống như PC và nên có khả năng hỗ trợ cho đa ngôn ngữ mà không làm hại cho tính sử dụng hay kinh nghiệm người dùng. Tính năng này yêu cầu kiểm thử bản địa hoá và quốc tế hoá. Sinh viên học ở đâu về tính năng này? Với tài nguyên giới hạn và ràng buộc như năng lực máy tính và bộ nhớ, hiệu năng trở thành mấu chốt cho bất kì thiết bị nào. Kiểm thử hiệu năng là cần để chắc rằng thiết bị thực hiện được như mong muốn dưới các tình huống đa dạng.
Ngày nay, có hơn 40 trình duyệt sẵn có cho thiết bị di động. Từng trình duyệt khác nhau theo cách hình ảnh được hiển thị và chức năng của chúng. Do đó, kiểm thử chéo trình duyệt và kiểm thử chéo các nền trở thành bắt buộc để đảm bảo rằng kết quả vẫn còn như nhau độc lập với nền công nghệ nền tảng. Hơn nữa, một số thiết bị dùng WAP để trao đổi trong khi số khác dùng HTTP. Do đó, điều trở thành hợp lí là kiểm thử các app cho cả hai, các máy có khả năng WAP và HTTP. Bạn kiếm đâu ra những người kiểm thử này nếu trường không dạy những kĩ năng này?
Về cá nhân, tôi nghĩ tiềm năng của thị trường điện thoại thông minh là rất hứa hẹn. Tôi cũng nghĩ sẽ có nhu cầu cao về những người phát triển app điện thoại thông minh và kiểm thử di động, đặc biệt trong thương mại điện tử e-commerce, m-commerce và an ninh di động. Đây là cơ hội lớn cho những người biết cách nắm lấy nó. Đó là lí do tại sao tôi nghĩ tương lai của máy tính sẽ là điện thoại thông minh.
—-English version—-
The future of mobile testing
After posted the blog about the future of computer, a software student asked me: “Why do you think smart phone is the future of computer? It is just a phone with some applications. I know Apple and Google are encouraging people to develop apps for them but I do not see any opportunity for people who do not develop mobile apps but only want to work in the software industry.”
I explained: “The smart phone industry is exploding. There are huge opportunities for people who are well prepared to catch them. The reason smart phone has a lot of potentials is the large number of users worldwide. Two to five billion users in the next five year are something that you cannot ignore. Today, infrastructure in some countries is not very good; access to internet is limited and slow. Many countries do not have broadband; the only way to access the internet is the phone dial up system. Mobile phone changes that give people an alternative to get connected. Smart phone add more conveniences, features and speed for users to connect and do many things online. That is why I believe in few more years, smart phones and tablets will replace laptops and PCs as the future computer.”
“Let’s look at the smart phone market. Today there are hundreds or thousands smart phone devices with different screen resolutions, operating systems, memory and languages. There are over 400 mobile phone companies across the world; each has its own standards, rules and procedures. Therefore, the integration of smart phone applications with information systems is becoming more critical and need more software workers to support it. Where do you find these workers? Is university preparing students for this opportunity? Increasing number of smart phone components requires integration testing. Where do students learn integration testing today? Smart phone consists of various components and software apps in a single device means increasing in demand for validation and integration testing. How many schools are teaching these skills today? With components like messaging, media player, MP3, camera, social media, chatting, texting etc., being integrated in a single devices, it is a big challenge for testers to make sure that everything work perfectly. Therefore, I believe the market for smart phone testing will explode soon. Today, people only see the potential of developing applications for smart phone but there are more opportunities in this industry. For example, providing testing service will be huge business opportunity.”
He seemed surprised: “I never thought of it, I only see smart phone is a commercial device of the phone company.”
I told him: “You are not alone. Many people think smart phone is just a phone. They do not understand the potential and the industry trend that in the next few years, smart phone will replace laptops and personal computer. If you look at the number of software companies that develop products for laptops and PC today then multiply that by hundred times then it is what the future market will be. With billions of smart phones to be used worldwide; with increasing demand for more applications and more features this market will create more jobs for app developers and testers than the PC market. If the PC market create billionaires like Bill Gates, Steve Jobs, and Mark Zuckerberg then who will be the next Bill Gates of the Smart Phone industry? This market is now wide open for competition and innovation. If you do not like to develop apps, you can perform mobile testing. Some standalone apps are easy to test but there are more enterprise apps, business apps that connect to the company IT systems for business purposes. These apps must talk to several external systems using intensive external resources such as HTTP or WAP protocols and they all require experienced testers.”
He was happy: “So you think the market will need more than just IOS and Android testers? I never think of enterprise apps and other aspect of e-commerce. Today we do not even have enough testers for the laptop applications. This will create more shortage of software testers.”
I told him: “Most future smart phone will be used for B2B, B2C, and G2C for e-Commerce and e-government. That will require more security testing. The application of smart phone into industries like marketing, sale, retail, banking, entertainment, news, transactions, trading, etc., will require complex integration testing. Failures to test or having defects can destroy the businesses. Security defects can hurt consumers so all phone companies must have strict testing guides. Since they are phoning companies not software companies, many will have to outsource testing. I think the market for mobile testing will grow very big soon. The issue is where do you find these testers in this skilled worker shortage?”
He seemed very interested: “That is good news, is there anything else?
I explained: “Mobile phone companies and mobile phone makers (Original Equipment Manufacturer) are looking for companies that specialize in this area. They are willing to pay more due to complexity in testing mobile devices. Last month, when I was in S. Korea, a large OEM company executive told me that there are currently more than 1,000 tests needed for each device, with more than 10,000 unique model combinations introduced annually. Even after conducting such tests, there were few defects go undetected that the company did not know until later. It costs much more to fix them after released so finding a good testing companies and good testers are critical. According to him, it takes at least 3months to complete a certification cycle. Even with test automation in place for common test procedures, vendors can only reduce the time by few days. The faster they can get new phone to the market, the more money they will make. That is why all phone maker companies need more rigorous testing, more testers their problem: “Where do we find good testers?”
Since geographical boundaries are no longer a restriction. People will be using smart phones to call everywhere and to access business transactions across the globe. Mobile device today is like a PC and should be capable of supporting multiple languages without compromising on usability or user experience. This feature requires localization and internationalization testing. Where do students learn about this feature? With limited resources and constraints like computing power and memory, performance becomes a critical for any device. Performance testing is necessary in order to make sure that the device performs as desired under the varying situations.
Today, there are more than 40 browsers available for mobile devices. Each browser differs from the other in the way images are displayed and their functionalities. Therefore, cross browser testing and cross platform testing becomes mandatory in order to ensure that the outcome remains the same independent of the underlying technology platform. Further, some devices use WAP for communication whereas others use HTTP. Hence, it becomes reasonable to test the apps on both, WAP and HTTP-enabled handsets. Where do you find these testers if schools do not teach this skill?
Personally, I think to potential of smart phone market is very promising. I also think there will be high demand for people with smart phone apps development and mobile testing, especially in the e-commerce, m-commerce and mobile security. This is a great opportunity for people who know how to capture it. That is why I think the future of computer will be in smart phone