14 Mar, 2021
Nghề kiểm thử phần mềm
Công nghiệp CNTT có câu: “Đằng sau mọi người phát triển phần mềm lớn, có người kiểm thử phần mềm lớn tương đương.”
Ngày nay thế giới có thiếu hụt cả người phát triển phần mềm và người kiểm thử phần mềm. Khi nhiều phần mềm được xây dựng, nhiều người kiểm thử hơn được cần tới. Vì sản phẩm phần mềm đang ngày càng lớn hơn và phức tạp hơn, kĩ năng của người kiểm thử phần mềm đang trở nên phức tạp hơn. Đặc biệt những người kiểm thử được cần tới để làm cho sản phẩm tiêu thụ dễ dùng mà không có lỗi. Nếu bạn là sinh viên yêu thích trò chơi video và có thể chơi Xbox cả ngày, kiểm thử trò chơi có thể là nghề cho bạn nữa.
Ngày nay các công ti đang dựa nhiều vào công nghệ thông tin (CNTT) hơn vài năm trước. Với mọi người phát triển phần mềm họ thuê, họ cũng thuê người kiểm thử phần mềm nữa. Quãng 40% số người làm việc ở các công ti phần mềm như Microsoft, Google, và Facebook là người kiểm thử. Một người quản lí phần mềm giải thích: “Có người kiểm thử có kĩ năng là giống như mua bảo hiểm. Vì sản phẩm phần mềm không bao giờ hoàn hảo, bạn cần kiểm thử nó để chắc khách hàng không phàn nàn. Nếu bạn là người chủ của cửa hàng trực tuyến, bạn không muốn thấy website của bạn bị sập, đó là lí do tại sao bạn phải thuê người kiểm thử tốt. Nếu bạn làm kinh doanh trực tuyến, bạn không muốn vi rút hay phần mềm hại lẻn vào, đó là lí do tại sao bạn phải thuê người kiểm thử giỏi.”
Vài năm trước, phần lớn người kiểm thử có thể nhanh chóng được đào tạo trong một hay hai năm. Các chương trình hai năm của các chương trình hướng nghề hay thậm chí sáu tháng được chứng chỉ kiểm thử là đủ tốt để kiếm được việc làm trong công nghiệp CNTT. Thị trường đó đã thay đổi nhanh chóng trong những năm gần đây vì phần mềm đang lớn hơn và phức tạp hơn. Có nhu cầu tăng lên về người kiểm thử có kĩ năng cao, đặc biệt trong các khu vực sản phẩm tiêu thụ và dịch vụ tài chính. Với việc phổ cập của thiết bị viễn thông, như điện thoại thông minh và nhiều kinh doanh di động (m-business), người dùng yêu cầu phần mềm chất lượng, và những người kiểm thử có kĩ năng cao với bằng đại học bây giờ đang có nhu cầu cao. Một người quản lí cấp cao giải thích: “Nhiều ngân hàng đang dùng các hệ thống ATM và ERP tự động, đây là những sản phẩm phần mềm phức tạp yêu cầu người kiểm thử có kĩ năng cao, và chúng tôi không thể có ai đó với vài tháng đào tạo động chạm được tới chúng. Họ có thể sửa một lỗi nhưng tạo ra thêm năm lỗi trong hệ thống.”
Các công ti viễn thông đang thuê nhiều người kiểm thử do việc bùng nổ của điện thoại di động và máy tính bảng. Một người quản lí nói: “Mọi người đang dùng điện thoại thông minh ngày nay, nó không chỉ là điện thoại mà còn là máy tính. Mọi người nói chuyện, chụp ảnh, tìm web, hỏi đường, chơi trò chơi, lên lịch họp, và mua các thứ trực tuyến dùng điện thoại di động của họ. Từng điện thoại đều có hàng trăm ứng dụng di động và nếu chúng có lỗi hay bị tắt, sẽ là thảm hoạ cho nên chúng tôi phải kiểm thử mọi thứ. Từng điện thoại có thể có hàng triệu dòng mã cho nên không có cách nào người kiểm thử với vài tháng đào tạo có thể làm việc trên nó. Chúng tôi chỉ thuê các công nhân với ít nhất là bằng đại học trong Khoa học máy tính hay Kĩ nghệ phần mềm và chuyên môn hoá trong kiểm thử phần mềm.” Ngày nay người tốt nghiệp trong Khoa học máy tính hay Kĩ nghệ phần mềm chuyên môn hoá trong kiểm thử có thể làm ra $92,000 tới $105,000 đô la một năm.
Có nhiều cơ hội cho những người thích kiểm thử các thứ phức tạp như thiết bị di động hay trang thiết bị y tế. Có nhu cầu tăng lên về người kiểm thử có kĩ năng bởi vì những sản phẩm phức tạp này. Chẳng hạn sản phẩm có nhiều ngôn ngữ lập trình, phần mềm tương tác với các chương trình phần mềm khác, phần mềm yêu cầu mức độ an ninh cao, và phần mềm kết nối nhiều thiết bị với nhau. Trong nhiều năm, kiểm thử phần mềm được dạy như một môn trong chương trình Khoa học máy tính hay Kĩ nghệ phần mềm, nhưng nó đang đổi thành một khu vực chuyên môn hoá mà có nhiều môn như kiểm thử viễn thông, kiểm thử qui mô lớn, kiểm thử an ninh, và kiểm thử thiết bị v.v.
Trong khi kiểm thử phần mềm bao gồm phần lớn kiểm thử sản phẩm phần mềm nhưng vẫn có khía cạnh khác của kiểm thử hấp dẫn nhiều sinh viên ngày nay: kiểm thử trò chơi video. Một sinh viên kêu : “Nó quá tốt thành ra không đúng. Bạn có thể chơi với trò chơi video cả ngày và được trả nhiều tiền về việc làm nó.” Điều đó là đúng; phần lớn các công ti trò chơi video đều có nhu cầu khẩn thiết về người kiểm thử trò chơi. Những người này phải thẩm tra lại giao diện và tính toàn vẹn của các cấu phần trò chơi và chứng tỏ rằng các cấu phần phần mềm đáp ứng cho các yêu cầu thiết kế và kĩ thuật của họ. Người kiểm thử mức vào nghề phải chơi mọi trò chơi hàng tháng để chắc rằng trò chơi làm việc theo cách nó được thiết kế. Người quản lí trò chơi giải thích: “Không ai có thể chơi cùng trò chơi hết ngày nọ tới ngày kia, hết tuần nọ tới tuần kia mà không phát rồ. Có một số người kiểm thử muốn làm điều đó và chúng tôi phải trả cho họ nhiều tiền.” Tuy nhiên, sau vài năm phần lớn những người kiểm thử này sẽ chuyển lên và trở thành người phát triển trò chơi rồi cuối cùng lên người thiết kế trò chơi. Người thiết kế trò chơi video là “ngôi sao nhạc rock” của trò chơi và họ được đối xử với sự kính trọng và có nhiều fan hâm mộ. Nếu người hâm mộ thích các ngôi sao phim ảnh của họ, người chơi trò chơi video biết tới người thiết kế trò chơi và thường mua trò chơi mới của họ mọi lúc. Người thiết kế là người có kĩ năng đặc biệt cao, điều yêu cầu nhiều sáng tạo nhưng bạn phải bắt đầu như người kiểm thử trò chơi trước. Ngày nay trò chơi video là kinh doanh nóng làm ra nhiều tiền. Các công ti trò chơi video như Disney, Fox và EA có nhiều cơ hội việc làm bởi vì việc tăng trưởng số bán trong trò chơi video. Trò chơi video là công nghiệp mới tăng trưởng nhanh hơn bất kì ngành công nghiệp nào và vì nó tăng trưởng, nó cần nhiều người phát triển và người kiểm thử.
Sinh viên muốn theo đuổi nghề nghiệp trong kiểm thử phần mềm phải hiểu toàn bộ qui trình phát triển phần mềm và cách nó khớp vào trong cách tiếp cận doanh nghiệp. Họ phải hiểu phương pháp và công cụ phần mềm nhưng phần lớn của tất cả, họ phải có kĩ năng mềm tốt bởi vì kiểm thử yêu cầu cả kĩ năng trao đổi và kĩ năng ngoại giao. Họ phải duy trì mối quan hệ tốt với người phát triển và người quản li.
—-English version—-
Software testing career
The IT industry has a phrase: “Behind every great software developer, there is an equally great software tester.” Today the world has a shortage of both software developers and software testers. As more software is being built, more testers are needed. As software products are getting larger and more complex, software testers’ skills are becoming more sophisticated. Especially testers are needed to make consumer products easy to use with no defect. If you are students who love video games and can play Xbox all day, games testing can be a career for you too.
Today company is relying more on Information technology (IT) than few years ago. For every software developer they hire, they also hire a software tester as well. About 40% of people who work at software companies such as Microsoft, Google, and Facebook are testers. A software manager explains: “Having skilled testers is like buying insurance. Since software product is never perfect, you need to test it to make sure customers do not complain. If you are owner of an on-line store, you do not want to see your website crash that is why you have to hire good testers. If you do business on-line, you do not want virus or malicious software get in, that is why you have to hire good testers.”
Few years ago, most testers can be quickly trained in about one to two years. Vocational schools’ two-year programs or even six months certificated testing were good enough to get jobs in IT industry. That market has changed quickly in recent years as software is getting larger and more complex. There is an increasing need of highly skilled testers, especially in the areas of consumer products and financial services. With the popular of telecommunication devices, such as smart phones and more mobile business (m-business), users demand quality software, and highly skilled testers with a college degree is now in high demand. A senior manager explained: “Many bank are using automated ATM and ERP systems, these are complex software products that require highly skilled testers, and we cannot have someone with few months training touch them. They may fix one bug but create five more bugs in the system.”
Telecommunication companies are hiring more testers due to explosion of smart phones and tablets. A manager said: “Everybody is using smart phone today, it is not just a phone but also a computer. People talk, takes pictures, search the web, ask for directions, play games, schedule meetings, and buy things on-line using their smart phones. Each phone has hundred mobile apps and if they have bugs or shutdown, it would be a disaster so we have to test everything. Each phone may have million lines of code so there is no way testers with few months training can work on it. We only hire workers with at least college degree in Computer Science or Software Engineering and specialize in software testing. Today a graduate in Computer Science or Software Engineering specializes in testing can make $92,000 to $105,000 a year.
There are many opportunities for people who like to test complex things such as mobile devices or medical equipments. There is a growing demand for skilled tester because these complex products. For example product that has multiple programming languages, software that interfaces with other software programs, software that requires high level of security, and software that connect several devices together. For many years, software testing is taught as one single course in Computer Science or Software Engineering program, but it is changing to a specialized area that has several courses such as, Telecommunication testing, Large Scale testing, Security testing, and Devices testing etc.
While software testing involves mostly the testing software products but there is another aspect of testing that attract a lot of students today: Video game testing. A student exclaims: “It is too good to be true. You can play with video games all day and get paid a lot of money for doing it.” It is true; most video game companies have urgent need for game testers. These people must verify the interfaces and integrity of the game components and demonstrates that these software components meet their design and technical requirements. Entry level testers must play every game for months to make sure that the game works the way it is designed. A game manager explains: “No one can play the same game days after days, weeks after weeks and not go crazy. There are a numbers of tester would do that and we have to pay them a lot of money.” However, after few years most of these testers would move up and become game developers then ultimately game designers. Video game designer is the “Rock star” of game and they are treated with respect and have many fans. If movie fans love their movie stars, video game players know their game designers and often buy their new games all the times. Game designer is a very special highly skills that require a lot of creativity but you must start as game testers first. Today video games are hot business that makes a lot of money. Video game companies like Disney, Fox and EA have a lot of jobs opportunity because of the growth of sales in video games. Videogame is a new industry that grows faster than any industry and as it grows, it needs more developers and testers.
Students who want to pursue a career in software testing must understand the entire software development process and how it fits into the business approach. They must understand software methods and tools but most of all, they must have good soft-skills because testing requires both communication skills and diplomatic skills. They have to maintaining good relationship with developers and managers.