ما الذي يحدث للبرنامج بعد تغيير كبير في الكود الذي يؤدي الى التراجع??
توقف عن العمل كما هو مقصود
Regression testing focuses on finding defects after a major code change has occurred. Specifically, it seeks to uncover software regressions, as degraded or lost features, including old bugs that have come back. Such regressions occur whenever software functionality that was previously working correctly, stops working as intended. Typically, regressions occur as an unintended consequence of program changes, when the newly developed part of the software collides with the previously existing code. Common methods of regression testing include re-running previous sets of test-cases and checking whether previously fixed faults have re-emerged. The depth of testing depends on the phase in the release process and the risk of the added features. They can either be complete, for changes added late in the release or deemed to be risky, or be very shallow, consisting of positive tests on each feature, if the changes are early in the release or deemed to be of low risk. Regression testing is typically the largest test effort in commercial software development, due to checking numerous details in prior software features, and even new software can be developed while using some old test-cases to test parts of the new design to ensure prior functionality is still supported. يركز اختبار التراجع على ايجاد عيوب بعد حدوث تغيير كبير في الكود. وعلى وجه التحديد, تسعى الى الكشف عن التراجع البرمجيات, بوصفها ملامح المتدهورة او ضائعة, بما في ذلك الحشرات القديمة التي عادت. مثل هذه التراجع تحدث عندما كانت وظيفة البرمجيات التي كانت تعمل في السابق بشكل صحيح, تتوقف عن العمل كما هو مقصود. عادة, تحدث التراجع كنتيجة غير مقصودة لتغيرات البرنامج, عندما تصطدم الجزء الذي تم تطويره حديثا من البرمجيات مع الكود الموجود سابقا. وتشمل الطرق الشائعة لاختبار التراجع اعادة تشغيل المجموعات السابقة من حالات الاختبار والتحقق من ما اذا كانت الاخطاء التي تم اصلاحها من قبل قد عادت الى الظهور. يعتمد عمق الاختبار على المرحلة في عملية الاصدار وعلى خطر المزايا المضافة. ويمكن اما ان تكون كاملة, لان التغييرات التي اضيفت في وقت متاخر من الاصدار او تعتبر خطيرة, او ان تكون سطحي جدا, تتكون من اختبارات ايجابية على كل ميزة, اذا كانت التغييرات في وقت مبكر من الاصدار او تعتبر ذات خطر منخفض. اختبار التراجع هو عادة اكبر جهد اختبار في تطوير البرمجيات التجارية, وذلك بسبب التحقق من العديد من التفاصيل في ميزات البرمجيات السابقة, وحتى البرمجيات الجديدة يمكن تطويرها اثناء استخدام بعض حالات الاختبار القديمة لاختبار اجزاء من التصميم الجديد للتاكد من السابق. لا تزال الوظائف مدعومة. Die Regression konzentriert sich darauf, Mängel zu finden, nachdem ein großer Code-Wechsel stattgefunden hat. Konkret versucht es, Software-Regressionen zu enthüllen, als abgebaut oder verlorene Funktionen, einschließlich alte Fehler, die zurück gekommen sind. Solche Regressionen treten auf, wenn die Software-Funktionalität, die zuvor korrekt funktioniert, aufhört, wie geplant zu arbeiten. In der Regel treten Regressionen als unbeabsichtigte Folge von Programm auf, wenn der neu entwickelte Teil der Software mit dem zuvor bestehenden Code kollidiert. Häufige Methoden der Regression umfassen die Wiederaufnahme der vorherigen Sets und prüfen, ob zuvor festgelegte Fehler wieder entstanden sind. Die Tiefe des Tests hängt von der Phase im Release-Prozess und dem Risiko der zusätzlichen Funktionen ab. Sie können entweder vollständig sein, für Änderungen, die spät in der Veröffentlichung hinzugefügt oder als riskant angesehen werden, oder sehr flach sind, bestehend aus positiven Tests auf jeder Funktion, wenn die Änderungen früh in der Veröffentlichung oder als ein geringes Risiko angesehen werden. Die Regression ist typischerweise der größte Test in der kommerziellen Software-Entwicklung, Aufgrund der Überprüfung zahlreicher Details in vorherigen Software-Funktionen, und sogar neue Software kann entwickelt werden, während sie einige alte Test-Fälle, um Teile des neuen Designs zu testen, um zu gewährleisten, dass Funktionalität wird immer noch unterstützt. Las pruebas de regresión se centra en encontrar defectos después de que se haya producido un gran cambio. en concreto, busca descubrir las regresiones de software, como características degradadas o perdidas, incluyendo viejos bugs que han vuelto. Tales regresiones ocurren cada vez que la funcionalidad de software que anteriormente estaba funcionando correctamente, deja de funcionar según lo previsto. Por lo general, las regresiones se producen como consecuencia no deseada de los cambios de programa, cuando la parte recién desarrollada del software choca con el código previamente existente. los métodos comunes de las pruebas de regresión incluyen re-ejecutar los conjuntos anteriores de los casos de prueba y comprobar si los fallos previamente fijos han vuelto a surgir. la profundidad de las pruebas depende de la fase en el proceso de liberación y el riesgo de las características añadidas. Ellos pueden estar completos, para los cambios añadidos tarde en la liberación o se considera que son arriesgados, o ser muy superficial, que consiste en pruebas positivas en cada característica, si los cambios son tempranos en la liberación o se considera que son de bajo riesgo. Las pruebas de regresión es normalmente el mayor esfuerzo de prueba en el desarrollo de software comercial, debido a la comprobación de numerosos detalles en las características de software anteriores, e incluso nuevo software se puede desarrollar mientras se utilizan algunos viejos casos de prueba para probar partes del nuevo diseño para asegurar antes la funcionalidad sigue siendo apoyada. प्रतिगमन परीक्षण एक प्रमुख कोड परिवर्तन के बाद दोषों को खोजने पर केंद्रित है । विशेष रूप से, यह सॉफ्टवेयर प्रत्यागमन को उजागर करना चाहता है, जैसे कि अपमानित या खोई हुई सुविधाओं के रूप में, पुराने बग सहित जो वापस आ गए हैं । ऐसे प्रत्यागमन होते हैं जब भी सॉफ्टवेयर कार्यक्षमता जो पहले सही ढंग से काम कर रही थी, इरादा के रूप में काम करना बंद कर आमतौर पर, प्रत्यागमन कार्यक्रम परिवर्तन के एक अनैच्छिक परिणाम के रूप में होता है, जब सॉफ्टवेयर का नया विकसित भाग पहले मौजूदा कोड से टकरा जाता है । प्रतिगमन परीक्षण के सामान्य तरीकों में परीक्षण-मामलों के पिछले सेट फिर से चल रहे हैं और जांच कर रहे हैं कि क्या पहले निश्चित दोष फिर से उभरे हैं । परीक्षण की गहराई रिलीज प्रक्रिया में चरण पर निर्भर करती है और जोड़े गए सुविधाओं का जोखिम है । वे या तो पूरा हो सकते हैं, परिवर्तनों के लिए देर से जोड़ा गया या जोखिम भरा माना जाता है, या बहुत उथले हो जाता है, जिसमें प्रत्येक सुविधा पर सकारात्मक परीक्षण होते हैं, अगर परिवर्तन में जल्दी हो या कम जोखिम के बारे में समझा जाता है । प्रतिगमन परीक्षण आम तौर पर वाणिज्यिक सॉफ्टवेयर विकास में सबसे बड़ा परीक्षण प्रयास है, पूर्व सॉफ्टवेयर सुविधाओं में कई विवरण की जांच करने के कारण, और नए सॉफ्टवेयर को भी विकसित किया जा सकता है, जबकि नए डिजाइन के भागों को परीक्षण करने के लिए कुछ पुराने परीक्षण का उपयोग किया जा सकता है कार्यक्षमता अभी भी समर्थित है । Đang thử nghiệm tập trung vào việc tìm hiểu lỗi sau khi thay đổi mã lớn đã xảy ra. Đặc biệt, nó tìm kiếm để phát hiện ra phần mềm regressions, khi bị thoái hóa hoặc mất các tính năng, bao gồm những con bọ cũ đã quay trở lại. Điều này xảy ra bất cứ khi nào các chức năng phần mềm đã được làm việc chính xác, ngừng hoạt động như dự định. Thông thường, regressions xảy ra như một hậu quả không mong muốn của các thay đổi chương trình, khi phần mới phát triển của phần mềm giáp với mã hiện có trước đó. Các phương pháp thông thường của thử nghiệm quy định bao gồm việc chạy lại các bộ bài kiểm tra trước và kiểm tra xem các lỗi cố định trước đây đã được xuất hiện lại chưa. Độ sâu của việc thử nghiệm phụ thuộc vào giai đoạn trong quá trình phát hành và rủi ro của các tính năng được thêm. Họ có thể được hoàn thành, vì các thay đổi được thêm vào muộn trong việc phát hành hoặc được coi là mạo hiểm, hoặc là rất nông cạn, bao gồm các bài kiểm tra tích cực trên mỗi tính năng, nếu các thay đổi là sớm trong sự phát hành hoặc được coi là của rủi ro thấp. Thử nghiệm Regression là thường là nỗ lực thử nghiệm lớn nhất trong sự phát triển phần mềm thương mại, do kiểm tra nhiều chi tiết trong các tính năng phần mềm trước, và thậm chí phần mềm mới có thể được phát triển trong khi sử dụng một số trường hợp kiểm tra cũ để kiểm tra các phần của thiết kế mới Chức năng vẫn được hỗ trợ. 回归测试重点是在发生重大代码变化后找到缺陷. 具体地说, 它寻求发现软件回归, 作为退化或失去的特征, 包括回来的旧虫. 这种回归发生在以前工作正确的软件功能时, 停止按预期工作. 通常, 当软件的新开发部分与以前的代码碰撞时, 回归是程序变化的一个意想不到的后果. 常见的回归测试方法包括重新运行以前的一系列测试案例, 并检查以前的固定故障是否重新出现. 测试的深度取决于释放过程的阶段和添加功能的风险. 它们可以是完整的, 因为在释放后添加的变化或被认为是危险的, 或者是非常肤浅的, 包括对每个功能的积极测试, 如果变化早在释放或被认为是低风险. 回归测试通常 是 商业 软件 开发 中 最 大 的 测试 努力, 因为在以前的软件功能中检查了许多细节, 甚至新的软件也可以开发, 同时使用一些旧的测试案例来测试新设计的部分以确保功能仍然支持.
بما ان برنامج البرنامج هو (من الناحية المفاهيمية) مجرد مجموعة اخرى من خلايا الذاكرة, فانه يمكن تغييرها من خلال الحسابات التي تتم في ال. اضافة 100 الى مكتب البرنامج من شانه ان يؤدي الى قراءة التعليمات التالية من مكان 100 مواقع ابعد من البرنامج. وغالبا ما تعرف التعليمات التي تعدل برنامج البرنامج بالقفز ويسمح الحلقات (التعليمات التي تتكرر بواسطة الكمبيوتر ) وفي كثير من الاحيان تنفيذ التعليمات المشروط (كلاهما من امثلة تدفق التحكم). Since the program counter is (conceptually) just another set of memory cells, it can be changed by calculations done in the ALU. Adding 100 to the program counter would cause the next instruction to be read from a place 100 locations further down the program. Instructions that modify the program counter are often known as "jumps" and allow for loops (instructions that are repeated by the computer) and often conditional instruction execution (both examples of control flow). चूंकि कार्यक्रम काउंटर है (रूप) स्मृति कोशिकाओं का एक और सेट है, इसे alu में किए गए गणना से बदला जा सकता है । कार्यक्रम काउंटर में 100 जोड़ने के कारण अगले निर्देश को एक स्थान से पढ़ने के लिए एक स्थान के लिए आगे 100 स्थानों को पढ़ना होगा । कार्यक्रम काउंटर को संशोधित करने के निर्देश अक्सर कूदता के रूप में जाना जाता है और लूप के लिए अनुमति देता है (निर्देश जो कंप्यूटर द्वारा दोहराया जाता है ) और अक्सर सशर्त निर्देश निष्पादन (नियंत्रण प्रवाह के दोनों उदाहरण) । ان التكيف مع اسلوب حياة المضيف يؤدي الى العديد من التغييرات في ال او, ومن ابرزها انخفاض كبير في حجم الجينوم. ويعود ذلك الى العديد من الجينات التي فقدت اثناء عملية الايض, واصلاح الحمض النووي واعادة التركيب. وفي حين ان جينات هامة تشارك في نسخ الحمض النووي الى الحمض النووي, فان ترجمة البروتين ونسخ الحمض النووي / الحمض ال وهذا يعني ان انخفاض حجم الجينوم يعود الى فقدان جينات ترميز البروتين وليس بسبب تقليل المناطق فيما بين التواقيع او حجم اطار القراءة المفتوح (orf). وبالتالي, فان الانواع التي تتطور بشكل طبيعي وتحتوي على احجام مخفضة من الجينات يمكن ان تحسب في عدد متزايد من الاختلافات ملحوظة فيما بينها, مما يؤدي الى تغييرات في معدلاتها التطورية. وبما ان البكتيريا ال endosymbiotic المرتبطة بهذه الحشرات يتم نقلها الى نسلها بدقة عن طريق الانتقال الجيني الراسي, فان بكتيريا الخلايا تمر بالعديد من العقبات اثناء العملية, مما يؤدي الى انخفاض في احجام السكان الفعالة عند مقارنة البكتيريا الحية الحرة. هذا عجز من بكتيريا endosymbiotic لاعادة استخدام نوعها البري من خلال عملية اعادة التركيب تسمى ظاهرة ر السقاطة مولر. وقد ادى ظاهرة مولر الى جانب احجام السكان الاقل فعالية الى تراكم الطفرات الضارة في الجينات غير الاساسية للبكتيريا في داخل الخلايا. ويمكن ان يكون ذلك بسبب عدم وجود اليات اختيار في البيئة الغنية للم المضيفة. Dna复制大部分是非常准确的, 但错误(突变)确实发生了.: 7.6真核细胞的错误率可以低至每个核苷酸的10-8, 而对一些rna来说病毒可以高达10-3. 这意味着每一代, 每一个人类基因组累积了1-2个新的突变. 小突变可以由dna复制和dna损害的后果造成, 包括点突变, 在其中一个基地被改变和frameshift突变, 在其中插入或删除一个单一的基地. 这些突变中任何一个都可以通过missense改变基因(更改一个密码子来编码不同的氨基酸)或废话(一个过早的停止密码子). 更大的突变可能是由重组 中的 错误造成的, 导致染色体异常, 包括染色体的大部分的重复, 删除, 重排或反转. 此外, 通常恢复突变的dna修复机制可以引入错误, 当修复对分子的物理损害比恢复一个确切的副本更重要, 例如在修复双链休息时.: 5.4 Da der Programm (konzeptionell) nur ein weiteres Set von Memory-Zellen ist, kann es durch Berechnungen in der Alu geändert werden. Das Hinzufügen von 100 zum Programm-Zähler würde dazu führen, dass die nächste Anweisung von einem Ort 100 Standorte weiter unten im Programm gelesen wird. Anweisungen, die die Programm ändern, sind oft als Sprünge bekannt und ermöglichen Schleifen (Anweisungen, die vom Computer wiederholt werden ) und oft bedingte Einweisung (beide Beispiele von Kontrolle). मेजबान की जीवनशैली के लिए अंतर्सहजीवी का अनुकूलन अंतर्सहजीवी में कई परिवर्तन की ओर जाता है-सबसे आगे अपने जीनोम आकार में भारी कमी हो रही है । यह चयापचय की प्रक्रिया, और डीएनए मरम्मत और पुन: पुनर्संयोजन के दौरान खो जाने वाले कई जीनों के कारण है । डीएनए में आरएनए प्रतिलेखन, प्रोटीन अनुवाद और डीएनए / आरएनए प्रतिकृति के लिए भाग लेने वाले महत्वपूर्ण जीन बरकरार हैं । यही कारण है कि जीनोम आकार में कमी प्रोटीन कोडिंग जीन के नुकसान के कारण होती है और अंतर-genic क्षेत्रों या ओपन रीडिंग फ्रेम (उर्फ) आकार की कमी के कारण नहीं है । इस प्रकार, प्रजाति जो स्वाभाविक रूप से विकसित हो रही है और जीनों के कम आकार में है, उनके बीच में ध्यान देने की संख्या की वृद्धि की जा सकती है, जिससे उनकी विकासवादी दरों में परिवर्तन हो सकता है । जैसे इन कीटों से संबंधित एंडोसिम्बयाटिक बैक्टीरिया को ऊर्ध्वाधर आनुवंशिक संचरण के माध्यम से सख्ती से वंश के लिए पारित किया जाता है, इंट्रासेल्युलर बैक्टीरिया प्रक्रिया के दौरान कई बाधाओं के माध्यम से जाता है, जिसके परिणामस्वरूप मुक्त जीवित बैक्टीरिया की तुलना में प्रभावी जनसंख्या आकार में कमी होती है । एक पुनर्संयोजन प्रक्रिया के माध्यम से अपने जंगली प्रकार phenotype को बहाल करने के लिए एंडोसिम्बयाटिक बैक्टीरिया का यह incapability मुलर की शाफ़्ट घटना के रूप में कहा जाता है । मुलर की शाफ़्ट घटना ने कम प्रभावी आबादी के आकार के साथ एक साथ इंट्रासेल्युलर बैक्टीरिया के गैर आवश्यक जीनों में घातक उत्परिवर्तन की वृद्धि की है । यह मेजबान के समृद्ध वातावरण में प्रचलित चयन तंत्र की कमी के कारण हो सकता था । 由于程序计数器(概念上)只是另一组内存细胞, 它可以通过在alu中完成的计算来改变. 添加100到程序计数器将导致下一个指示从一个地方的100个地点阅读. 修改程序计数器的指示往往被称为跳跃和允许循环(由 电脑 重复 的 指示 )和经常有条件的指令执行(两个控制流的例子). Kể từ khi phản ứng chương trình là (một) chỉ là một bộ tế bào kỷ niệm khác, nó có thể được thay đổi bằng cách tính toán được thực hiện trong alu. Thêm 100 vào quầy chương trình sẽ khiến các hướng dẫn tiếp theo được đọc từ một địa điểm 100 địa điểm xa hơn trong chương trình. Hướng dẫn thay đổi phản ứng chương trình thường được biết đến như là nhảy và cho phép cho vòng lặp (chỉ dẫn được lặp lại bởi máy tính ) và thường xuyên điều chỉnh hướng dẫn thực hiện (cả hai ví dụ về dòng chảy). Chúng tôi đã sử dụng một kỹ thuật để đặt chương trình của chúng tôi ra trong cuộc tranh luận chung, anh ấy nòi. Khi chúng tôi đến giai đoạn sửa đổi, chúng tôi sẽ cung cấp chương trình của chúng tôi như là một thay thế cho cầu hôn Johnson. Nếu chúng ta thua trong Ủy ban của toàn bộ, thì chúng ta thường cung cấp nó như là một chuyển động cho recommit và nhận được một phiếu bỏ phiếu về điều đó. Và nếu chúng ta mất đi chuyển động đến recommit, các thành viên đảng Cộng hòa của chúng ta đã có một lựa chọn: Họ có thể bỏ phiếu chống lại chương trình Johnson và nói rằng chúng tôi đã cố gắng hết sức để đến với một thay thế tốt hơn. Hoặc họ có thể bỏ phiếu cho nó và tạo ra cùng một cuộc tranh luận. Thường thì chúng ta đã thua; nhưng khi bạn chỉ là 140 trong 435, bạn không mong muốn giành chiến thắng nhiều.