« Home « Kết quả tìm kiếm

Nghiên cứu phát triển phần mềm hướng hành vi ứng dụng công cụ Behat


Tóm tắt Xem thử

- Nghiên cứu phát triển phần mềm hướng hành vi ứng dụng công cụ Behat.
- Keywords.Công nghệ phần mềm.
- Công cụ Behat.
- Chất lươ ̣ng là mô ̣t trong những yếu tố quan tro ̣ng nhất của sản phẩm phần mềm .
- Lỗi phần mềm không chỉ ảnh hưởng đến dữ liê ̣u , hoạt động của cơ quan tổ chức sử.
- dụng phần mềm mà đôi khi còn ảnh hưởng đến tính ma ̣ng con người .
- hay lỗi phần mềm sẽ che lấp các tính năng và tiê ̣n ích mà hê ̣ thống đó mang la ̣i .
- Đặc biê ̣t, trong thi ̣ trường ca ̣nh tranh chất lượng cao như hiê ̣n nay mô ̣t phần mềm phát sinh lỗi trong quá trình sử du ̣ng sẽ làm ảnh hưởng nghiêm tro ̣ng tới danh tiếng , thương hiê ̣u và uy tín của công ty sản xuất phần mềm .
- Chính vì lý do đó đảm bảo chất lượng phần mềm là mô ̣t vấn đề quan tro ̣ng và ngày c àng cần được quan tâm hàng đầu trong lĩnh vực phát triển phần mềm..
- Tuy nhiên, mô ̣t phần mềm chất lượng cao cũng có thể gă ̣p thất ba ̣i trên thi ̣ trường nếu phần mềm đó không đáp ứng được nhu cầu của khách hàng .
- Các công ty sả n xuất phần mềm luôn cố gắng đưa ra các hê ̣ thống với các tính năng mới để ca ̣nh tranh với các nhà cung cấp khác .
- Với đa phần các hê ̣ thống thương ma ̣i , tại thời điểm bắt đầu dự án, có thể đội phát triển không thu thập đư ợc các yêu cầu thực sự từ khách hàng , phần.
- mềm sẽ được phát triển dựa trên các tính năng phỏng đoán và trong trường hợp tồi tê ̣ các tính năng đó có thể không phù hợp với mong muốn của khách hàng .
- Viê ̣c thu thâ ̣p yêu cầu khách hàng và sử dụng các mô tả tường minh để yêu cầu đó không bị sai lệch trong quá trình phát triển phần mềm là vấn đề lớn của các nhà sản xuất.
- Thông qua quá trình sử du ̣ng phần mềm , người sử du ̣ng sẽ dễ hình dung r a các hoạt động của hệ thống vàhiểu rõ hơn về nghiệp vụ và miền ứng dụng , khi đó khách hàng dễ đưa ra các ý tưởng cho tính năng mới và bổ sung chúng .
- Đây là ha ̣n chế lớn nhất của các phương pháp phát triển phần mềm tr uyền thống , bởi khi có sự bổ sung hoă ̣c thay đổi yêu cầu phần mềm đang phát triển sẽ dễ phá vỡ cấu trúc hê ̣ thống .
- Trong phương pháp phát triển phần mềm truyền thống , khách hàng cũng chỉ được tiếp xúc với phần mềm sau kh i các yêu cầu phần mềm đã được cài đă ̣t hoàn thiê ̣n , do đó viê ̣c phát hiện sai sót hoặc cài đặt hệ thống không đúng với yêu cầu khách hàng rất dễ xảy ra.
- Quy trình phát triển phần mềm lă ̣p hiê ̣n đa ̣i được coi là mô ̣t giải p háp khắc phục vấn đề thay đổi yêu cầu của người sử du ̣ng .
- Ý tưởng cơ bản trong các quy trình lặp hiê ̣n đa ̣i là ta ̣o ra phần mềm được sản xuất theo từng bước nho.
- mỗi bước chỉ thực hiê ̣n mô ̣t số tính năng tương đối đô ̣c lâ ̣p để đưa ra một phần mềm nhỏ có thể dùng được .
- Sau mỗi vòng lă ̣p, khách hàng có thể dùng thử phần mềm để đưa ra các phản hồi về hệ thống và dựa vào các phản hồi đó đô ̣i phát triển sẽ bổ sung các tính năng hữu ích hoă ̣ c cải thiện các tính năng đã được phát triển theo hướng tốt hơn cho khách hàng .
- Viê ̣c chọn các tính năng để đưa vào mỗi vòng lặp thường căn cứ vào độ ưu tiên của chúng , do đó các tính năng quan tro ̣ng thường được cho ̣n để ph át triển trước, cho phép khách hàng sử dụng hệ thống sớm hơn các phương pháp phát triển phần mềm truyền thống.
- Bên ca ̣nh những lợi ích đáp ứng sự thay đổi yêu cầu , các quy trình phát triển phần mềm theo phương pháp lă ̣p cũ ng ta ̣o ra những thách thức mới cho giai đoa ̣n kiểm thử.
- phần mềm.
- Ở quy trình phát triển truyền thống , kiểm thử là mô ̣t pha được thực hiê ̣n vào cuối dự án , khi hê ̣ thống đã được cài đă ̣t hoàn thiê ̣n , nhưngvới các hê ̣ thống s ử.
- dụng phương pháp lặp , phần mềm sẽ được kiểm tra trong mỗi vòng lă ̣p .
- Khách hàng thường xuyên được sử du ̣ng các phiên bản nhỏ của hê ̣ thống , nên lỗi phần mềm hoă ̣c các tính năng sai sót sẽ sớm được phát hiện và giải quyế t trước khi sản phẩm chính thức được bàn giao cho khách hàng .
- Trong điều kiê ̣n lý tưởng, sau mỗi vòng lă ̣p khách hàng sẽ nhận được một sản phẩm có chất lượng cao, phù hợp với yêu cầu..
- Trong phương pháp phát triển phần mềm linh hoa ̣t, nhu cầu kiểm thử được hiểu là.
- các quy tắc hay hoạt động được sử dụng để đảm bảo chất lượng phần mềm .
- Quá trình phát triển phần mềm thường sử dụng các kỹ thuật và công cụ hỗ trợ để mã nguồn viết cho mỗi t ính năng hoạt động đúng , chẳng ha ̣n như các kỹ thuâ ̣t lâ ̣p trình theo că ̣p , kỹ.
- thuâ ̣t phát triển hê ̣ thống lấy kiểm thử làm tro ̣ng tâm hay kỹ thuâ ̣t kiểm thử trước.
- Tuy nhiên, tính năng đúng có phù hợp yêu cầu của khách hàn g hay không la ̣i phải cần mô ̣t phương pháp kiểm thử ở mức đô ̣ cao hơn , đó là kiểm thử chấp nhâ ̣n hay kiểm thử.
- của khách hàng .
- Yêu cầu của khách hàng là yếu tố quan tro ̣ng nhất để xác đi ̣nh các trường hợp kiểm thử, viê ̣c kiểm thử nhằm đảm bảo phần mềm làm ra đáp ứng nhu cầu của khách hàng..
- Trong quy trình lă ̣p , phần mềm được phát triển qua các vòng lă ̣p và có sự thay đổi liên tu ̣c sẽ có lợi cho viê ̣c kiểm tra các tính năng .
- Mỗi tính năng được kiểm thử ít nhất mô ̣t lần, thâ ̣m chí những tính năng quan tro ̣ng được kiểm thử nhiều lần thông qua các vòng lặp khi bổ sung các tính năng mới .
- càng gần cuối chu trình phát triển phần mềm , viê ̣c kiểm thử các tính năng ban đầu quan trọng nhất dễ bị kiểm tra lỏng lẻo bở i tâm lý chủ quan của kiểm thử viên .
- Trái lại, khi tích hợp thêm các tính năng mới , rất dễ phát sinh các lỗi ảnh hưởng tới toàn hệ thống và lỗi đó phát hiện càng muộn thì chi phí sữa lỗi càng cao và đối với những vòn g lă ̣p cuối thì rất khó để thực hiê ̣n , lúc này kiểm thử tự động trở thành một giải pháp hữu hiệu để giải quyết vấn đề trên .
- Kiểm thử tự đô ̣ng là viê ̣c sử.
- dụng các phần mềm , các công cụ để kiểm thử phần mềm khác nhằ m hỗ trơ ̣ cho con người tự đô ̣ng hóa quá trình kiểm thư.
- Kiểm thử tự đô ̣ng giúp công viê ̣c thực hiê ̣n mô ̣t cách nhanh chóng, chính xác hơn, giải quyết các vấn đề về tâm lý trong quá trình kiểm thử.
- Kiểm thử tự đô ̣ng đă ̣c biê ̣t hữu hiê ̣u trong vấn đề kiểm thử hồi quy, bởi có thể thực hiê ̣n hằng ngày, hằng giờ, cho mo ̣i vòng lă ̣p mà không hề nhàm chán..
- Hiê ̣n nay có khá nhiều công cu ̣ để kiểm thử tự đô ̣ng và nó trở thành mô ̣t phần không thể thiếu đối với các hê ̣ thống phát triển theo phương pháp linh hoa ̣t .
- Tuy nhiên, để tự động hóa quá trình kiểm thử chấp nhận thì cần phải lựa chọn một kỹ thuật phù.
- hơ ̣p để mô tả yêu cầu của khách hàng .
- Viê ̣c sử du ̣ng công cu ̣ phần lớn phu ̣ thuô ̣c vào ngôn ngữ lâ ̣p trình và kỹ thuâ ̣t đă ̣c tả yêu cầu người dùng .
- Với sự phát triển ma ̣nh mẽ.
- của các quy trình phát triển phần mềm theo phương pháp linh hoạt thì thời gian gần đây có rất nhiều công cu ̣ hỗ trợ chẳng ha ̣n như PHPUnit, Selenium, TestPro,.
- Nghiên cứu và tìm hiểu mô ̣t kỹ thuâ ̣t phát triển phần mềm, có thể đặc tả những tiêu chí kiểm thử chấp nhận từ người sử dụng và tái sử dụng các tiêu chí đó cho việc tự động hóa kiểm thử chấp nhậnlà rất cần thiết.
- Chính vì lí do đó tôi chọn đề tài “Nghiên cứu phát triển phần mềm hƣớng hành vi và ứng dụng công cụ Behat”.
- Nô ̣i dung luâ ̣n văn tâ ̣p trung vào những vấn đề sau:.
- Giới thiê ̣u tổng quan về phương pháp phát triển phần mềm linh hoa ̣t .
- Giới thiê ̣u hai quy trình được sử du ̣ng phổ biến trong Agile là quy trình Scrum và lâ ̣p trình cực hạn XP.
- Tổng kết mu ̣c đích và vai trò của kiểm thử trong phương pháp phát triển phần mềm linh hoa ̣t , chỉ ra các mức kiểm thử thường được áp dụng như kiểm thử đơn vị , kiểm thử chấp nhâ ̣n….
- Tìm hiểu một số kỹ thuật phát triển phần mềm thường áp dụng trong phương pháp phát triển linh hoạt .
- Phần này chủ yếu trình bày phương pháp phát triển phần.
- mềm lấy kiểm thử làm tro ̣ng tâm .
- đưa ra các khái niê ̣m và quy trình thực hiê ̣n của phương pháp phát triển dựa vào kiểm thử (TDD) và phương pháp phát triển dựa vào kiểm thử chấp nhâ ̣n (ATDD).
- Phần này cũng nêu lên mô ̣t số ha ̣n chế của các kỹ thuật này..
- Nghiên cứu phương pháp phát triển phần mềm hướng hành vi .
- Đây là mô ̣t phương pháp mới, chưa được áp du ̣ng phổ biến trong sản xuất phần mềm .
- Tuy nhiên, thông qua nghiên cứu của mình tôi thấy đây là mô ̣t kỹ thuâ ̣t ha y, có thể áp dụng rộng rãi, vì thế trong phần này , tôi trình bày những kiến thức cơ bản nhất về phương pháp phát triển phần mềm dựa vào hành vi của ứng dụng như : nguyên lý, quy trình, các sản phẩm cũng như công cu ̣ hỗ tr ợ.
- chú trọng trình bày dạng thức mô tả yêu cầu ứng dụng dưới da ̣ng mô ̣t tính năng .
- đi ̣nh da ̣ng mô tả tính năng , các kịch bản sử dụng tính năng , cũng như các mô tả các tiêu chí kiểm thử chấp nhận thông qua các định nghĩa bướ c..
- Nghiên cứu công cu ̣ Behat: Trình bày chi tiết về cách cài đặt, cấu hình, kiến trúc và cách thức sử dụng công cụ này ;mô tả cách sử du ̣ng ngôn ngữ Gherkin để viết tính năng, đi ̣nh nghĩa các tiêu chí kiểm thử chấp nhâ ̣n như là các bước của kịch bản .
- Cách đi ̣nh nghĩa phương thức kiểm thử chấp nhâ ̣n trong lớp ngữ cảnh..
- Áp dụng những nghiên cứu về phát triển phần mềm hướng hành vi và công cụ Behat để xây dựng ứng dụng minh họa: giới thiê ̣u công cu ̣ và kỹ thuâ ̣ t hỗ trợ.
- tổng kết, đánh giá viê ̣c áp du ̣ng..
- Cấu trúc của luâ ̣n văn gồm bốn phần như sau:.
- Chƣơng 1 – Kiểm thử phần mềm trong Agile: Trình bày các khái niệm cơ bản, một số quy trình phát triển phần mềm theo phương pháp phát triển linh hoạt.
- Mục đích, tầm quan trọng, các loại hình kiểm thử trong phương pháp phát triển linh hoa ̣t..
- Chƣơng 2 – Phát triển phần mềm theo hƣớng hành vi – BDD: Trình bày khái niệm, quy trình và một số kiến thức liên quan đến phát triển phần mềm hướng hành vi..
- Chƣơng 4 - Áp du ̣ng phát triển phần mềm hƣớng hành vi và công cu ̣ Behat :Vâ ̣n du ̣ngphát triển phần mềm hướng hàn h vivà sử du ̣ng công cu ̣ Behat đ ể xây dựng ứng dụng minh họa.