17.3.2 Iniegrciiiorr Testing
A neophyte in the software world might ask a seemingly legitimate question once all
modules have been unil tested: "tfl they all work individually, why do you doubt that
they'll work when we put them together?" The problem, of conrse, is ,,putting them
together"-interfacing. Data can be lost across an interflace; one component can
have an inadvertent, adverse ellect on another; subfunctions, when combineci, may
not produce the desired major functlon; individually acceptable imprecision may be
magnified to unacceptable levels; global data structures can present problems.
Sadly, the list goes on and on.
Integratlon testing is a systematic technique for constructing the software architecture
while at the same time conducting tests to uncover errors associated with
interfacing. The objective is to take unit-tested components and build a program
structllre that has been dictated by design.
There is often a tendency to attempt nonincremental integration; that is, to construct
the program using a "big bang" approach. All components are combined in
advance. The entire program is tested as a whole. And chaos usually resr-rltsl A set
of errors is encountered. Correction is difficult because isolation of causes is com,
plicated bythe vast expanse of the entire probram. Once these errors are corrected,
new ones appear and the process continues in a seemingly endless loop.
Incremental integration is the antithesis of the big bang approach. The program
is constructed and tested in small increments, where errors are easier to isolate and
correct; interfaces are more likely to be tested completely; and a systematic test
approach may be applied. In the paragraphs that follow, a number of diflerent incremen[
al integration strategies are discussed.
Top-dorrm integrati'on. Top-down integration testing is an incremental approach
to construction of the software archltecture. Modules are integrated by moving
downward through the control hierarchy, beginning wlth the main control module
17.3.2 iniegrciiiorr การทดสอบ
ใหม่ในโลกซอฟต์แวร์อาจจะถามคำถามที่ดูเหมือนถูกต้องตามกฎหมาย เมื่อทั้งหมด
โมดูลได้รับ unil การทดสอบ : " TFL พวกเขาทำงานเป็นรายบุคคล , ทำไมคุณถึงสงสัยว่า
พวกเขาจะทำงานเมื่อเราใส่ด้วยกันมั้ย ? " ปัญหาของ conrse , , , วางพวกเขา
ด้วยกัน " - เชื่อม . ข้อมูลอาจจะสูญหายระหว่าง interflace ; องค์ประกอบหนึ่งสามารถมีการตั้งใจ
,ellect ทวนบนอื่น subfunctions เมื่อ combineci อาจ
ไม่ผลิตหลัก functlon ที่ต้องการแบบที่ยอมรับคลุมเครือ อาจจะขยายไปยังระดับที่รับไม่ได้
; โครงสร้างข้อมูลทั่วโลกสามารถเสนอปัญหา .
เศร้า , รายการไปบนและบน .
ทดสอบ integratlon เป็นเทคนิคในการสร้างสถาปัตยกรรมซอฟต์แวร์
อย่างเป็นระบบในขณะที่ในเวลาเดียวกันดำเนินการทดสอบการค้นพบข้อผิดพลาดที่เกี่ยวข้องกับการเชื่อมต่อ
. มีวัตถุประสงค์ที่จะใช้หน่วยทดสอบส่วนประกอบและสร้างโปรแกรม
structllre ที่ถูกบงการโดยการออกแบบ .
มีมักจะมีแนวโน้มที่จะพยายามบูรณาการ nonincremental นั่นคือ การสร้างโปรแกรมโดยใช้
" บิ๊กบัง " วิธีการ ส่วนประกอบทั้งหมดจะรวมกันใน
ล่วงหน้าโปรแกรมทั้งหมดจะถูกทดสอบโดยรวม และความวุ่นวายมักจะ resr rltsl ชุด
ของข้อผิดพลาดที่พบ แก้ไขได้ยากเนื่องจากการแยกสาเหตุคือ com
plicated ของกว้างใหญ่ของ probram ทั้งหมด เมื่อข้อผิดพลาดเหล่านี้จะแก้ไขให้
ใหม่ปรากฏขึ้นและกระบวนการอย่างต่อเนื่องในวงไม่มีที่สิ้นสุด .
รวมเพิ่มขึ้นเป็นสิ่งที่ตรงกันข้ามของวิธีการบางใหญ่ โปรแกรม
การสร้างและทดสอบทีละน้อย ซึ่งข้อผิดพลาดจะง่ายต่อการแยกและ
ถูกต้อง ; การเชื่อมต่อจะถูกทดสอบอย่างสมบูรณ์ และวิธีการทดสอบ
อย่างเป็นระบบ อาจจะใช้ ในย่อหน้าที่ตามจํานวน diflerent incremen [
อัลบูรณาการกลยุทธ์ รวมทั้ง
ด้านบน dorrm integrati'on . ด้านบนลงมารวมการทดสอบเป็นวิธีการเพิ่ม
เพื่อสร้างซอฟต์แวร์ archltecture . โมดูลแบบบูรณาการ โดยการย้าย
จากลำดับชั้นการควบคุมต้น wlth โมดูลควบคุมหลัก
การแปล กรุณารอสักครู่..
![](//thimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)