Tải bản đầy đủ (.pdf) (4 trang)

Kiểm thử phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (73.87 KB, 4 trang )

Kiểm thử phần mềm

Kiểm thử phần mềm
Bởi:
John Vu
Gần đây tôi có đọc một bài báo nói rằng phần mềm là việc nhàm chán (ngồi cả ngày
trước máy tính) và kiểm thử phần mềm là kĩ năng thấp, không được kính trọng cho nên
thay vì nghiên cứu khoa học máy tính hay kĩ nghệ phần mềm, sinh viên nên nghiên cứu
cái gì đó khác để làm “điều quan trọng.” Tôi không biết tác giả nghĩ gì trong đầu về
những vấn đề quan trọng nhưng là một nhà chuyên môn về phần mềm trong hơn 30 năm,
tôi biết rằng phần mềm KHÔNG là việc nhàm chám mà là nghề mang tính sáng tạo cao
bởi vì nó yêu cầu nhiều tư duy, phân tích và canh tân. Kiểm thử phần mềm KHÔNG
phải là kĩ năng thấp nhưng là một phần quan trọng của qui trình phát triển phần mềm.
Nó yêu cầu người kiểm thử phần mềm phải có đầu óc logic để phân tích sự hợp lí của
qui trình phần mềm, để nhận diện các lỗi và để bảo đảm sản phẩm cuối cùng đáp ứng
các yêu cầu. Kiểm thử là việc rất thách thức, chẳng hạn kiểm thử trò chơi máy tính, được
thiết kế để mô phỏng xúc cảm từ những người chơi, yêu cầu người kiểm thử phải có các
quyết định về xúc cảm và chủ quan. Kiểm thử các phần mềm mấu chốt như hệ thống
máy tính của vệ tinh hay máy bay yêu cầu người kiểm thử phải hội tụ vào mọi kịch bản
có thể để khử bỏ mọi rủi ro và ngăn ngừa thảm hoạ.
Ngược với khái niệm là người làm phần mềm ngồi cả ngày trước máy tính, người làm
phần mềm tốt không chỉ là người kĩ thuật mà còn là người doanh nghiệp. Họ bao giờ
cũng tham gia cùng khách hàng, người dùng, người quản lí trên cơ sở hàng ngày cho nên
họ có thể có hiểu biết rõ ràng về các yêu cầu doanh nghiệp. Việc của người kĩ sư phần
mềm là tạo ra sản phẩm đáp ứng yêu cầu của khách hàng, người dùng và người quản lí.
Bằng việc hoàn thành những yêu cầu này, họ giải quyết các vấn đề, phân tích vấn đề;
tạo ra các sản phẩm canh tân mà không chỉ là những thứ được ưa chuộng nhưng còn
là những thứ vui cho mọi người. Để tham gia cùng người dùng một cách có hiệu quả,
người kĩ sư phần mềm chuyên nghiệp phải có quan điểm kĩ thuật và quan điểm doanh
nghiệp để hiểu doanh nghiệp đang cố gắng đạt tới cái gì. Khi đối diện với thách thức họ
náo nức, xúc động của họ lên cao và họ bắt đầu phân tích tình huống theo cách tiếp cận


logic để tạo ra giải pháp tốt nhất có thể được. Nhiều kĩ sư phần mềm nói với tôi rằng họ
tin kiến trúc, thiết kế và lập trình cho phần mềm là “nghệ thuật” và họ vừa là nhà khoa
học vừa là nghệ sĩ. Họ cảm thấy giống nhà khoa học bởi vì điều đó yêu cầu tư duy logic,
phân tích và tổ chức nhưng cũng giống nghệ sĩ bởi vì họ tạo ra thứ có tính trí tuệ và biến
đổi chúng thành thứ vật lí – tác phẩm phần mềm, như nhạc sĩ, hoạ sĩ hay nhà văn bởi vì
sản phẩm của họ là kết quả của tâm trí sáng tạo cao, dứt khoát không phải là cái gì đó
nhàm chán.
1/4


Kiểm thử phần mềm

Về mặt truyền thống, người kĩ sư phần mềm không nói ra lời về công việc của họ và
ích lợi tích cực họ đem tới cho doanh nghiệp và xã hội. Họ để hàng giờ làm việc cũng
như nhạc sĩ làm việc nhọc nhằn để tìm ra sự hài hoà hoàn hảo hay nhà thơ cố gắng đi
tới những vần thơ hoàn hảo. Tuy nhiên, khác với nghệ sĩ, người làm việc chủ yếu một
mình, qua việc phát triển phần mềm, người kĩ sư phần mềm thường xuyên tham gia với
nhau để duy trì mối quan hệ tích cực với khách hàng của mình bằng việc trao đổi và
chứng tỏ cách sản phẩm của họ sẽ đáp ứng cho yêu cầu của khách hàng. Mối nối giữa
cách tiếp cận xúc cảm và vấn đề doanh nghiệp và công nghệ trong môi trường phát triển
trở thành rõ ràng khi thẩm định thành công mà người làm phần mềm đạt tới trong việc
chuyển giao kết quả tích cực cho doanh nghiệp.
Điều không may là tôi cũng thấy rằng nhiều người làm kiểm thử phần mềm, người được
huấn luyện theo qui trình truyền thống kiểm thử mã chỉ dựa trên ngôn ngữ lập trình và
thường không tham gia có hiệu quả với doanh nghiệp và do vậy đạt tới mức độ thành
công và kính trọng ít hơn. Kiểm thử phần mềm là một bộ môn trong số nhiều việc huấn
luyện kĩ nghệ phần mềm nhưng trong khoa học máy tính truyền thống, nó đơn thuần hội
tụ vào kiểm thử lập trình, không mấy hội tụ vào kiểm thử thiết kế, kiểm thử kiến trúc,
kiểm thử yêu cầu, trắc nghiệm doanh nghiệm, kiểm thử thuộc tính chất lượng và kiểm
thử xúc cảm. Chẳng hạn họ có thể không hiểu tầm quan trọng của việc nắm bắt thông tin

chứng tỏ giá trị mà kiểm thử đem lại cho doanh nghiệp hay sự lí thú của kiểm thử “cảm
giác” của người dùng khi dùng sản phẩm, (kiểm thử tính dùng được trong công nghiệp
trò chơi máy tính) mà chỉ biết cách kiểm thử mã.
Dùng cách tiếp cận xúc cảm tới kiểm thử cũng tạo khả năng cho người kĩ sư phần mềm
đưa bộ môn phần mềm tới cuộc sống – dùng những ví dụ dự án cuộc sống thực mà đã
bị thất bại do thiếu hụt trong kiểm thử và thủ tục đảm bảo chất lượng sẽ có hiệu quả hơn
nhiều cách tiếp cận truyền thống “mã trước hỏi câu hỏi sau”. Nếu người kĩ sư phần mềm
có thể tham gia với doanh nghiệp và ngành công nghiệp công nghệ ở mức độ xúc cảm,
họ sẽ hiểu giá trị gia tăng và ích lợi doanh nghiệp của kiểm thử cũng như cách nó có thể
là điều lí thú. Kiểm thử thực sự là cách tiếp cận “toàn trí” bởi vì nó yêu cầu cả logic và
xúc cảm trong việc hướng dẫn phát triển phần mềm để khử lỗi và rủi ro qua cách tiếp
cận logic và có cấu trúc. Huấn luyện truyền thống nói rằng chuẩn bị kiểm thử xảy ra sau
khi lập trình được hoàn tất, điều thực sự quá muộn bởi vì nó chỉ hội tụ vào phát hiện
khiếm khuyết của việc thực hiện (viết mã). Huấn luyện kĩ nghệ phần mềm hội tụ vào
kiểm thử ở mọi pha của vòng đời phát triển, điều có nghĩa là kiểm thử bắt đầu khi dự án
bắt đầu và trường hợp kiểm thử và kịch đoạn kiểm thử phải được chuẩn bị sớm nhất có
thể được.
Tôi tin người kiểm thử phần mềm có vai trò mấu chốt trong thành công hay thất bại của
dự án và họ cần tham gia vào công việc ở giai đoạn sớm, hội tụ vào mọi chi tiết một
cách có hiệu quả để xác định yêu cầu từ dự án và thực sự nắm được những mức thấp
nhất về điều người dùng và khách hàng muốn. Khi làm điều này, thảm hoạ có thể được
ngăn ngừa, việc dùng sản phẩm có thể là vui đùa và doanh nghiệp sẽ bắt đầu nhận ra ích

2/4


Kiểm thử phần mềm

lợi đúng của dự án thành công. Tôi tin phần mềm là việc lí thú và người kiểm thử phần
mềm cần được thừa nhận về điều họ đã đóng góp.

———-English version———Software Testing
Recently I read an article stated that software is a boring job (Sit in front of computer
all day) and software testing is a low skill, not respected so instead of study computer
science or software engineering, students should study something else to do “Important
things”. I do not know what the author has in mind about important things but as a
software professional for more than 30 years, I know that software is NOT a boring
job but a highly creative career because it requires a lot of thinking, analyzing and
innovating. Software testing is NOT a low skill but an important part of the software
development process. It requires software tester to have is a logical mind to analyze
the rational of a software process to identify defects and make sure that the final
product meets the requirements. Testing is a very challenging job, for example testing
a computer game designed to stimulate emotion from players requires testers to have
both emotional and subjective decisions. Testing critical softwares such as a satellite
or airplane computer systems requires testers to focus on every possible scenarios to
eliminate all risks and prevent disasters.
Contradict to the notion that software people sit in front of a computer all day, a good
software engineer is not just technical but also business people. They always engage
with customers, users, managers on daily basis so they could have clear understanding
of the business requirements. The job of a software engineer is to create products
that meet the requirements of customers, users, and managers. By fulfilling these
requirements, they solve problems, analyzing issues; create innovative products which
are not only a favourable things but also fun things for everybody. In order to engage
with their users effectively, professional software engineer must possess a technical
standpoint and the business view to understand what the business is trying to achieve.
When facing a challenge they are excited, their emotional run high and they begin to
analyze the situation in a logical approach to create the best solution possible. Many
software engineers told me that they believe the architecture, design and programming
of software are an “art” and they are both scientist and artists. They feel like scientists
because it requires logical thinking, analyzing and organizing but also artists because
they create intellectual thing and transform them into physical things – a software

masterpieces just like musicians, painters or writers because their products are the
results of highly creative minds, definitely not something boring.
Traditionally, software engineer is not so vocal about their works and the positive
benefits they are bringing to the business and society. They suffer long hours of working
just like musician works hard to find perfect harmony or a poet tries to come up with

3/4


Kiểm thử phần mềm

perfect verses. However, different from artists who work mostly alone, throughout
the development of software, software engineers are constantly engaging with each
others to maintain a positive relationship with their customers by communicating and
demonstrating how their products will meet customer’s requirements. The connection
between an emotive approach and business and technology issues in a development
environment becomes clear when assessing the success that software people achieve in
delivering positive outcomes for the business.
Unfortunately, I also found that many software testers who are trained in the traditional
process of testing code based on the programming language only and often fail to
engage effectively with the business and thus achieve a lesser degree of success and
respect. Software testing is one discipline among many of software engineering training
but in traditional computer science, it is merely focus on programming testing, not
much in design testing, architecture testing, requirement testing, business verification,
quality attribute testing and emotional testing. For example they may not understand the
importance of capturing information that demonstrates the value testing is bringing to
the business or the excitement of testing the “feeling” of users when using the product
(Usability testing in computer game industry) but only know how to test code.
Using an emotive approach to testing will also enable software engineers to bring the
software discipline to life – using real life examples of projects that have failed due to

shortfalls in the testing and quality assurance procedures will be much more effective
than the traditional “code first ask question later” approach. If software engineers can
engage the business and technology industry on an emotional level, they will understand
the added value and business benefits of testing as well as how it could be an exciting
thing. Testing is really the “whole brain” approach because it requires both logic and
emotion in guiding the software development in eliminating errors and risks via logical
and structured approach. Traditional training stated that testing preparation happens
after programming is completed which is really too late because it only focus on
detecting defect of the implementation (Coding). Software engineering training focus on
testing at every phases of the development life cycle, which mean testing starts when the
project starts and test cases and test scripts must be prepared as early as possible.
I believe software testers have critical role in the success or failure of projects and they
need to engage the business at the earlier stage, focusing on every details effectively to
determine the requirements from the project and really get to the lowest levels of what
users and customers want. In doing this, disaster can be averted, using of the product
could be fun and businesses will start to realize the true benefits of successful projects.
I believe software is an exciting job and software tester need to be recognized on what
they have contributed.

4/4



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×