The document discusses various techniques for software testing, including testability, what constitutes a "good" test, test case design, exhaustive vs selective testing, white-box vs black-box testing, and basis path testing. Basis path testing involves determining the cyclomatic complexity of a program's control flow graph to identify the minimum number of independent paths that need to be tested to achieve full coverage. Test cases are then designed to execute each basis path.
Georgy Nosenko - An introduction to the use SMT solvers for software securityDefconRussia
The document discusses how SMT solvers can be used for software security applications such as bug hunting, exploit generation, protection analysis, and malware analysis by modeling portions of code or algorithms as logical formulas that can then be analyzed using an SMT solver to prove properties or generate inputs. It provides examples of how SMT solvers have been used to find integer overflows, help with program verification, and aid in defeating simple hashing algorithms.
This document discusses the concept of SoLoMo, which combines social media, local searches, and mobile technologies. It notes that people now live in a "SoLoMo world" where they search for local businesses and share information online using mobile devices. SoLoMo represents the combination of real-life interactions, the internet, and real-time sharing enabled by social networks, location features on mobile phones, and the rise of mobile internet usage. The document outlines key trends in social media, local searches, and mobile usage to illustrate the growth of the SoLoMo space and opportunities it provides for local businesses to engage customers.
This certificate certifies that Vali Bawany has demonstrated the requirements to be an Oracle E-Business Suite R12.1 Supply Chain Management PreSales Specialist as of February 27, 2015.
El documento describe el rol del tutor en el aprendizaje virtual. Un tutor guía el aprendizaje de los estudiantes de manera no directiva, ayudándolos a pensar por sí mismos. El aprendizaje virtual permite una comunicación fluida y relaciones estrechas entre estudiantes y tutores. También permite que personas con discapacidades tengan acceso a educación de calidad a través de entornos de aprendizaje personalizados.
Presentation from the launch of Reading UTC http://www.utcreading.co.uk/ and http://www.sourcewire.com/news/76755/microsoft-hosts-utc-reading-taster-event
Georgy Nosenko - An introduction to the use SMT solvers for software securityDefconRussia
The document discusses how SMT solvers can be used for software security applications such as bug hunting, exploit generation, protection analysis, and malware analysis by modeling portions of code or algorithms as logical formulas that can then be analyzed using an SMT solver to prove properties or generate inputs. It provides examples of how SMT solvers have been used to find integer overflows, help with program verification, and aid in defeating simple hashing algorithms.
This document discusses the concept of SoLoMo, which combines social media, local searches, and mobile technologies. It notes that people now live in a "SoLoMo world" where they search for local businesses and share information online using mobile devices. SoLoMo represents the combination of real-life interactions, the internet, and real-time sharing enabled by social networks, location features on mobile phones, and the rise of mobile internet usage. The document outlines key trends in social media, local searches, and mobile usage to illustrate the growth of the SoLoMo space and opportunities it provides for local businesses to engage customers.
This certificate certifies that Vali Bawany has demonstrated the requirements to be an Oracle E-Business Suite R12.1 Supply Chain Management PreSales Specialist as of February 27, 2015.
El documento describe el rol del tutor en el aprendizaje virtual. Un tutor guía el aprendizaje de los estudiantes de manera no directiva, ayudándolos a pensar por sí mismos. El aprendizaje virtual permite una comunicación fluida y relaciones estrechas entre estudiantes y tutores. También permite que personas con discapacidades tengan acceso a educación de calidad a través de entornos de aprendizaje personalizados.
Presentation from the launch of Reading UTC http://www.utcreading.co.uk/ and http://www.sourcewire.com/news/76755/microsoft-hosts-utc-reading-taster-event
Winter in Nienowice sees heavy snowfall, with temperatures dropping as low as -27°C. Children enjoy sledging, throwing snowballs, making snowmen, and sleigh rides, while trees, houses, fences, and roads become covered in snow and ice. The author reminds readers to be careful during winter activities and looks forward to the arrival of spring.
Este documento trata sobre el marketing relacional en Internet. Explica conceptos clave como marketing, marketing relacional, marketing masivo vs marketing 1x1. También analiza el uso de herramientas como CRM y cómo estas permiten a las empresas conocer mejor a sus clientes de forma individualizada a través del uso de bases de datos e Internet, con el objetivo de establecer relaciones duraderas. Finalmente, discute cómo el marketing relacional se ha vuelto cada vez más importante para las empresas en la actual era digital.
El documento describe cómo las personas ya no podrían vivir sin las tecnologías de la información y la comunicación (TIC) debido a que les permiten comunicarse con otros en todo el mundo a través de dispositivos como teléfonos celulares, computadoras y redes sociales. Aunque al principio fue extraño adaptarse a estas tecnologías, ahora es difícil imaginar la vida sin ellas ya que son esenciales para las actividades diarias y la comunicación.
El documento proporciona información sobre la historia de Internet. Explica algunos hitos clave como que el 30 de abril de 1995 las empresas pudieron conectarse a Internet sin permiso y se empezó a utilizar la conmutación de paquetes. También describe algunos protocolos e inventos fundamentales como ARPANET, TCP/IP, las páginas web y sitios como Google, Wikipedia y Facebook. El documento resume brevemente el desarrollo de Internet desde sus inicios hasta volverse un servicio masivo a nivel mundial.
Unit 2 analysis and software requirementsAzhar Shaik
The document discusses software requirements and requirements analysis. It introduces the concepts of user and system requirements and describes functional and non-functional requirements. It explains how requirements can be organized in a requirements specification document. The document outlines various topics related to requirements including problem analysis techniques, requirement specification, the components and format of a Software Requirements Specification, characteristics of a good SRS, validation methods, and the differences between functional and non-functional requirements.
acciones preventivas para el control de derramesHeber Elio
Este documento presenta medidas preventivas para controlar derrames e incendios en instalaciones que almacenan o usan hidrocarburos. Recomienda elaborar un plan de contingencia contra derrames que incluya roles asignados, equipos y capacitación. También propone medidas como confinar áreas de trabajo, revisar equipos, señalizar zonas de riesgo y disponer materiales para limpiar derrames, con el fin de prevenir incidentes y reducir sus consecuencias.
Una mesa redonda es una forma de debate académico donde participantes discuten un tema específico sin caer en un formato de debate tradicional. Está integrada por un moderador y participantes, y sigue una estructura de presentación del tema, exposiciones de los participantes, y una sesión de preguntas y respuestas. El moderador dirige el debate siguiendo pasos como la introducción del tema, las exposiciones de los participantes, y la conclusión resumiendo los conceptos clave.
El documento presenta una introducción al concepto de Social CRM, explicando cómo las redes sociales han cambiado la forma en que las empresas se comunican con los clientes. Se describe cómo los consumidores ahora están más informados y participan en conversaciones online, lo que requiere que las empresas adopten nuevos enfoques centrados en el cliente y las relaciones.
Digestion and absorption of carbohydrates and proteinsenamifat
This document summarizes digestion and absorption of carbohydrates and proteins. It discusses the major dietary sources of carbohydrates including monosaccharides, disaccharides, and polysaccharides. It describes the enzymes involved in digesting carbohydrates in the mouth, stomach, and small intestine, including salivary amylase, pancreatic amylase, and intestinal brush border enzymes. The main end products of carbohydrate digestion are glucose, fructose, and galactose, which are absorbed through intestinal mucosal cells. Clinical issues related to carbohydrate digestion like congenital lactose intolerance and sucrase deficiency are also mentioned. For proteins, digestion occurs through hydrolysis by enzymes in the stomach and small intestine. The
La hora de comer comienza con ansia por la comida pero a medida que se sacia el hambre, el sueño llega y termina la comida. El documento describe el proceso de comer pasando de la ansia inicial al sueño una vez satisfecho el apetito.
El documento define el medio ambiente como los elementos abióticos y bióticos que componen la biosfera terrestre y sustentan la vida. Explica que la atmósfera, el agua y el suelo son los principales componentes del medio ambiente y que la contaminación es la impregnación de estos con productos dañinos. También describe el calentamiento global como el aumento de las temperaturas debido a los gases de efecto invernadero y sus graves efectos como el derretimiento de los casquetes polares y el aumento del nivel del mar. Finalmente
The document discusses various software testing techniques, including black-box testing and white-box testing. It focuses on white-box testing techniques like basis path testing. Basis path testing uses the control flow graph of a program to identify the minimum number of test paths needed to guarantee that all statements are executed at least once. These basis paths are used to derive test cases that achieve full statement coverage. The cyclomatic complexity metric can be used to measure the number of independent paths in a program and guide test planning.
The document discusses various software testing techniques, including black-box testing and white-box testing. It focuses on white-box testing techniques like basis path testing. Basis path testing uses the control flow graph of a program to identify the minimum number of test paths needed to guarantee that all statements are executed at least once. These basis paths are used to derive test cases that achieve full statement coverage. The cyclomatic complexity metric can be used to measure the number of independent paths in a program and guide test planning.
This document discusses black box testing techniques. Black box testing involves testing software without knowledge of its internal structure or design. Key black box techniques include equivalence partitioning, which divides input into classes; boundary value analysis, which tests boundary cases; error guessing, which uses experience to generate test cases; and cause-effect graphing, which analyzes how inputs cause outputs to derive test cases. Black box testing has advantages like independence from implementation details and testing from a user perspective.
The document discusses various whitebox testing techniques including statement coverage, branch coverage, condition coverage, path coverage, and data flow-based testing. Statement coverage requires designing test cases such that every statement in a program is executed at least once. Branch coverage requires test cases where different branch conditions are given true and false values. Path coverage requires test cases such that all linearly independent paths in a program are executed based on the program's control flow graph. Data flow-based testing focuses on connections between variable definitions and uses.
This document discusses process capability and measurement indices. It defines common and assignable causes of variation, and explains how to measure a process by taking samples and analyzing the resulting distribution. The key metrics for measuring process capability are Cp, which indicates if a process can produce within specifications regardless of the process mean, and Cpk, which also considers how centered the process is within specifications. Examples are provided to demonstrate how to calculate Cp and Cpk. The goal is for these metrics to be above 1 to indicate a capable process.
Software testing is the process of analyzing a program to detect errors. It involves designing test cases to exercise a program's functionality and verify its expected output. Test cases should systematically cover different possible inputs and states to uncover errors. Positive test cases validate expected functionality while negative test cases validate unexpected inputs and boundary conditions. Exhaustive testing of real programs is impossible due to their large input spaces, so test cases must be designed strategically to detect as many errors as possible.
The document discusses software testing and quality assurance. It explains that testing is an essential part of the software development process and should be planned from the early stages. There are different types of testing techniques, including black-box and white-box testing, that help identify bugs and errors in software. Quality assurance involves verifying and validating the software development process.
The document discusses software testing strategies. It covers topics like test strategy, test planning, test case design, test execution, verification and validation, unit testing, integration testing, object-oriented testing, validation testing, debugging, and consequences of bugs. The overall strategy is to begin with unit testing, then conduct integration testing by integrating modules, followed by system and validation testing to ensure requirements are met.
Winter in Nienowice sees heavy snowfall, with temperatures dropping as low as -27°C. Children enjoy sledging, throwing snowballs, making snowmen, and sleigh rides, while trees, houses, fences, and roads become covered in snow and ice. The author reminds readers to be careful during winter activities and looks forward to the arrival of spring.
Este documento trata sobre el marketing relacional en Internet. Explica conceptos clave como marketing, marketing relacional, marketing masivo vs marketing 1x1. También analiza el uso de herramientas como CRM y cómo estas permiten a las empresas conocer mejor a sus clientes de forma individualizada a través del uso de bases de datos e Internet, con el objetivo de establecer relaciones duraderas. Finalmente, discute cómo el marketing relacional se ha vuelto cada vez más importante para las empresas en la actual era digital.
El documento describe cómo las personas ya no podrían vivir sin las tecnologías de la información y la comunicación (TIC) debido a que les permiten comunicarse con otros en todo el mundo a través de dispositivos como teléfonos celulares, computadoras y redes sociales. Aunque al principio fue extraño adaptarse a estas tecnologías, ahora es difícil imaginar la vida sin ellas ya que son esenciales para las actividades diarias y la comunicación.
El documento proporciona información sobre la historia de Internet. Explica algunos hitos clave como que el 30 de abril de 1995 las empresas pudieron conectarse a Internet sin permiso y se empezó a utilizar la conmutación de paquetes. También describe algunos protocolos e inventos fundamentales como ARPANET, TCP/IP, las páginas web y sitios como Google, Wikipedia y Facebook. El documento resume brevemente el desarrollo de Internet desde sus inicios hasta volverse un servicio masivo a nivel mundial.
Unit 2 analysis and software requirementsAzhar Shaik
The document discusses software requirements and requirements analysis. It introduces the concepts of user and system requirements and describes functional and non-functional requirements. It explains how requirements can be organized in a requirements specification document. The document outlines various topics related to requirements including problem analysis techniques, requirement specification, the components and format of a Software Requirements Specification, characteristics of a good SRS, validation methods, and the differences between functional and non-functional requirements.
acciones preventivas para el control de derramesHeber Elio
Este documento presenta medidas preventivas para controlar derrames e incendios en instalaciones que almacenan o usan hidrocarburos. Recomienda elaborar un plan de contingencia contra derrames que incluya roles asignados, equipos y capacitación. También propone medidas como confinar áreas de trabajo, revisar equipos, señalizar zonas de riesgo y disponer materiales para limpiar derrames, con el fin de prevenir incidentes y reducir sus consecuencias.
Una mesa redonda es una forma de debate académico donde participantes discuten un tema específico sin caer en un formato de debate tradicional. Está integrada por un moderador y participantes, y sigue una estructura de presentación del tema, exposiciones de los participantes, y una sesión de preguntas y respuestas. El moderador dirige el debate siguiendo pasos como la introducción del tema, las exposiciones de los participantes, y la conclusión resumiendo los conceptos clave.
El documento presenta una introducción al concepto de Social CRM, explicando cómo las redes sociales han cambiado la forma en que las empresas se comunican con los clientes. Se describe cómo los consumidores ahora están más informados y participan en conversaciones online, lo que requiere que las empresas adopten nuevos enfoques centrados en el cliente y las relaciones.
Digestion and absorption of carbohydrates and proteinsenamifat
This document summarizes digestion and absorption of carbohydrates and proteins. It discusses the major dietary sources of carbohydrates including monosaccharides, disaccharides, and polysaccharides. It describes the enzymes involved in digesting carbohydrates in the mouth, stomach, and small intestine, including salivary amylase, pancreatic amylase, and intestinal brush border enzymes. The main end products of carbohydrate digestion are glucose, fructose, and galactose, which are absorbed through intestinal mucosal cells. Clinical issues related to carbohydrate digestion like congenital lactose intolerance and sucrase deficiency are also mentioned. For proteins, digestion occurs through hydrolysis by enzymes in the stomach and small intestine. The
La hora de comer comienza con ansia por la comida pero a medida que se sacia el hambre, el sueño llega y termina la comida. El documento describe el proceso de comer pasando de la ansia inicial al sueño una vez satisfecho el apetito.
El documento define el medio ambiente como los elementos abióticos y bióticos que componen la biosfera terrestre y sustentan la vida. Explica que la atmósfera, el agua y el suelo son los principales componentes del medio ambiente y que la contaminación es la impregnación de estos con productos dañinos. También describe el calentamiento global como el aumento de las temperaturas debido a los gases de efecto invernadero y sus graves efectos como el derretimiento de los casquetes polares y el aumento del nivel del mar. Finalmente
The document discusses various software testing techniques, including black-box testing and white-box testing. It focuses on white-box testing techniques like basis path testing. Basis path testing uses the control flow graph of a program to identify the minimum number of test paths needed to guarantee that all statements are executed at least once. These basis paths are used to derive test cases that achieve full statement coverage. The cyclomatic complexity metric can be used to measure the number of independent paths in a program and guide test planning.
The document discusses various software testing techniques, including black-box testing and white-box testing. It focuses on white-box testing techniques like basis path testing. Basis path testing uses the control flow graph of a program to identify the minimum number of test paths needed to guarantee that all statements are executed at least once. These basis paths are used to derive test cases that achieve full statement coverage. The cyclomatic complexity metric can be used to measure the number of independent paths in a program and guide test planning.
This document discusses black box testing techniques. Black box testing involves testing software without knowledge of its internal structure or design. Key black box techniques include equivalence partitioning, which divides input into classes; boundary value analysis, which tests boundary cases; error guessing, which uses experience to generate test cases; and cause-effect graphing, which analyzes how inputs cause outputs to derive test cases. Black box testing has advantages like independence from implementation details and testing from a user perspective.
The document discusses various whitebox testing techniques including statement coverage, branch coverage, condition coverage, path coverage, and data flow-based testing. Statement coverage requires designing test cases such that every statement in a program is executed at least once. Branch coverage requires test cases where different branch conditions are given true and false values. Path coverage requires test cases such that all linearly independent paths in a program are executed based on the program's control flow graph. Data flow-based testing focuses on connections between variable definitions and uses.
This document discusses process capability and measurement indices. It defines common and assignable causes of variation, and explains how to measure a process by taking samples and analyzing the resulting distribution. The key metrics for measuring process capability are Cp, which indicates if a process can produce within specifications regardless of the process mean, and Cpk, which also considers how centered the process is within specifications. Examples are provided to demonstrate how to calculate Cp and Cpk. The goal is for these metrics to be above 1 to indicate a capable process.
Software testing is the process of analyzing a program to detect errors. It involves designing test cases to exercise a program's functionality and verify its expected output. Test cases should systematically cover different possible inputs and states to uncover errors. Positive test cases validate expected functionality while negative test cases validate unexpected inputs and boundary conditions. Exhaustive testing of real programs is impossible due to their large input spaces, so test cases must be designed strategically to detect as many errors as possible.
The document discusses software testing and quality assurance. It explains that testing is an essential part of the software development process and should be planned from the early stages. There are different types of testing techniques, including black-box and white-box testing, that help identify bugs and errors in software. Quality assurance involves verifying and validating the software development process.
The document discusses software testing strategies. It covers topics like test strategy, test planning, test case design, test execution, verification and validation, unit testing, integration testing, object-oriented testing, validation testing, debugging, and consequences of bugs. The overall strategy is to begin with unit testing, then conduct integration testing by integrating modules, followed by system and validation testing to ensure requirements are met.
White Box testing by Pankaj Thakur, NITTTR ChandigarhPankaj Thakur
The document provides an overview of white box testing techniques. It begins with an introduction to white box testing and its various forms. It then compares white box and black box testing and discusses cyclomatic complexity. The document outlines several white box testing techniques including control flow testing, data flow testing, slice based testing, and mutation testing. It discusses the advantages and disadvantages of white box testing and provides examples to illustrate control flow testing, branch coverage, condition coverage, and path coverage. The document also briefly covers loop testing and data flow testing.
The document discusses various techniques for software testing including whitebox testing, blackbox testing, unit testing, integration testing, validation testing, and system testing. It provides details on techniques like equivalence partitioning, boundary value analysis, orthogonal array testing, and graph matrices. The objective of testing is to systematically uncover errors in a minimum amount of time and effort. Testing should begin with unit testing and progress towards integration and system-level testing.
Mining Assumptions for Software Components using Machine LearningLionel Briand
EPIcuRus is an approach to automatically generate assumptions for software components in cyber-physical systems modeled in Simulink. It uses machine learning techniques to mine assumptions from test case results. The approach includes generating tests cases using an important feature boundary test generation method, model checking candidate assumptions, and selecting the most informative safe assumptions. An evaluation on industrial case studies found it can learn non-vacuous assumptions for most requirements within a practical time limit, with the important feature boundary test generation performing best.
Evaluating Model Testing and Model Checking for Finding Requirements Violatio...Lionel Briand
Model checking and model testing were compared for finding requirements violations in Simulink models. Model checking uses formal methods to exhaustively verify properties, but may not be applicable to some model constructs. Model testing uses meta-heuristic search to dynamically execute models and identify failures. Both approaches were applied to an industrial Simulink benchmark containing 11 models and 92 requirements. Model testing found violations of 40 requirements, while model checking could exhaustively prove 41 requirements and found violations of 23 requirements, but could not handle one of the models.
발표자: 허기홍 (발표 당시 서울대 박사과정)
발표일: 2017.6.
서울대학교 컴퓨터공학부 프로그래밍 연구실에서 프로그램 정적분석(static program analysis)을 연구하고 있다. 특히, 정적 분석기를 더욱 빠르고 정확하게 만들기 위한 다양한 기법을 연구, 개발했다.
최근에는 다양한 데이터를 학습하여 정적 분석기를 더욱 유연하게 만드는데 많은 관심을 두고 있다.
2017년 8월 서울대학교에서 박사학위를 받을 예정이다.
개요:
이 발표에서는 기계학습을 사용하여 정적 분석기의 안전성(soundness)을 조절하는 방법을 이야기한다.
실용적인 정적분석기는, 무결점 검증기를 제외하면, 대부분 필연적으로 불안전 (unsound) 하다. 즉, 실제 실행의 모든 경우를 항상 포섭하지는 않는다는 뜻이다. 정확도나 성능 등을 이유로 여러 부분에서 실제 의미의 일부만을 포섭하는 경우가 많다. 예를 들면, 순환문이 한 바퀴만 도는 경우만 고려한다거나, 내용을 모르는 라이브러리 호출은 아무일을 안한다고 가정해버리는 식이다. 그런데 이런 불안전한 기법을 무턱대고 사용할 시에는 분석기 사용자가 알고 싶어하는 정보 (예를 들면, 버그)를 지나치게 많이 놓치는 문제가 있다. 이를 해결하기 위해 이 연구에서는 안전성을 포기해도 버그를 놓치지 않는 지점, 그러면서도 동시에 정확도는 높일수 있는 지점을 잘 찾는 방법을 제시한다.
핵심은 이런 지점을 기계 학습을 이용해서 찾아내는 것이다. 버그가 있는 프로그램의 여러 지점을 안전성을 포기하면서 분석을 해보고, 그 분석 결과를 학습시키는 방식이다. 그렇게 학습된 분류기 (classifier) 는 새로운 프로그램을 분석할 때 안전성을 포기해도 될 만한 부분을 정확하게 짚어주어 분석기의 정확도를 높이는데 도움을 준다.
우리는 이 기술을 C 프로그램을 대상으로 하는 두 가지 정적 분석기 (버퍼오버런 오류 검출기, 포맷스트링 오류 검출기)에 적용하여 그 성능을 실험하였다. 그 결과, 맹목적으로 안전성을 포기하는 기존 분석기에 비해서 획기적으로 오류 검출능력을 높일 수 있었다. 이 연구는 올해 ICSE (International Conference on Software Engineering) 학회를 통해 소개되었다.
Testing of Cyber-Physical Systems: Diversity-driven StrategiesLionel Briand
Lionel Briand discusses strategies for testing cyber-physical systems using diversity-driven approaches. He outlines challenges in verifying controllers and decision-making components in cyber-physical systems due to large input spaces and expensive model execution. Briand proposes maximizing diversity of test cases to improve fault detection. He describes using diversity of input signals, output signals, and failure patterns to generate test cases. Search algorithms are used to find test cases that maximize diversity or reveal specific failure patterns. The strategies are shown to significantly outperform coverage-based and random testing on Simulink models.
The document summarizes various software testing techniques, including:
- White-box testing techniques like cyclomatic complexity and control flow graph analysis to derive test cases.
- Black-box techniques like equivalence partitioning and boundary value analysis to design test cases based on valid and invalid input conditions.
- The goal of testing is to systematically uncover errors by executing all independent paths and boundary values through a program.
The document summarizes various software testing techniques including:
- White-box testing techniques like cyclomatic complexity and control flow graph analysis to derive test cases.
- Black-box techniques like equivalence partitioning to divide inputs into classes and boundary value analysis to test boundary conditions.
- The goal of testing is to systematically uncover errors with minimum time by designing test cases to execute all program paths and boundary conditions.
Tool wear monitoring and alarm system based on pattern recognition with logic...Nehem Tudu
This document contains a summary of 14 core seminars presented by Nehem Tudu on tool wear monitoring and alarm systems based on pattern recognition with logical analysis of data (LAD). The seminars covered topics such as tool wear, LAD methodology, experimental design, knowledge extraction using LAD, and developing a proportional hazards model. The goal was to use data from machining titanium alloy to train LAD models to automatically detect worn tool patterns and build an online tool wear alarm system without human interference. LAD was able to accurately classify observations with a quality of 97.2%.
Online and Offline Testing Of C-Bist Using Sramiosrjce
This document summarizes a research paper on online and offline testing of a C-BIST (concurrent built-in self-test) architecture using SRAM (static random-access memory). The proposed C-BIST scheme monitors input vectors during normal circuit operation and uses an SRAM-like structure to store information on detected vectors. It is shown to have lower hardware overhead and faster concurrent test latency compared to previous C-BIST techniques. The document outlines the existing C-BIST system, proposed simultaneous testing and online operation methodology, simulation results demonstrating error detection and output correction, and conclusion that the SRAM-based approach provides an efficient solution for testing VLSI circuits during normal operation.
Using Diversity for Automated Boundary Value TestingFelix Dobslaw
The document discusses automated boundary value testing and analysis. It defines program boundaries as places where behavior is supposed to change or actually changes. It explores using diversity to automatically test boundary cases by comparing multiple executions and observing differences. Challenges include defining appropriate diversity metrics and handling different data types and sizes.
1. The document discusses various software engineering process models including waterfall, prototyping, RAD, incremental, and spiral models. It describes the key phases and advantages/disadvantages of each.
2. It also covers system engineering and how software engineering occurs as part of developing larger systems. Business process engineering and product engineering are introduced for developing information systems and products respectively.
3. Key aspects of developing computer-based systems are outlined including the elements of software, hardware, people, databases, documentation and procedures.
The document discusses various aspects of risk management for projects. It describes reactive risk management where risks are addressed after occurring versus proactive risk management where formal risk analysis is performed upfront. It identifies different types of project risks and provides questions to assess risks due to factors like product size, business impact, customers, and development processes. Overall project risk management involves identifying, analyzing, planning for, and tracking risks.
This document discusses various metrics for measuring software quality and object-oriented design. It introduces McCall's quality factors triangle and describes measures, metrics, and indicators. It then discusses principles of software measurement and the measurement process. It provides examples of function-based metrics, architectural design metrics, object-oriented design metrics, and class-oriented metrics. The document aims to define different metrics and provide guidance on applying them to assess software quality.
This document discusses process and project metrics for software development. It explains that metrics are used to measure the status of ongoing projects, track risks, uncover problems, and evaluate quality. Process metrics indirectly measure the efficacy of the software development process by looking at outcomes like errors, defects, productivity, effort, and schedule adherence. Project metrics are used to minimize schedules and assess ongoing product quality. Typical metrics include effort per task, errors per review hour, and milestone dates. The document provides guidelines for using metrics and discusses different types of metrics like size-oriented, function-oriented, and object-oriented metrics.
The document discusses object-oriented design (OOD). It aims to explain how a software design can be represented as interacting objects that manage their own state and operations. It describes the activities in the OOD process and introduces models that can be used, including the Unified Modeling Language (UML). Characteristics of OOD like encapsulation and message passing are covered. The document provides examples of concepts like objects, classes, associations, generalization and inheritance. It also discusses design of concurrent and distributed systems.
The document discusses user interface design. It covers analyzing users and tasks, designing interfaces that are easy to use, consistent and put users in control. Interface design involves understanding users, tasks and content before defining objects, actions and states. Patterns can guide layout, forms and navigation. Evaluation ensures the interface is responsive, helpful and handles errors well. The goal is an interface that is easy to understand, learn and consistent.
The document discusses the benefits of meditation for reducing stress and anxiety. Regular meditation practice can help calm the mind and body by lowering heart rate and blood pressure. Making meditation a part of a daily routine, even if just 10-15 minutes per day, can offer improvements to mood, focus, and overall well-being over time.
The document discusses concepts related to design engineering and software design quality. It covers topics like the analysis model and design model, design and quality guidelines, abstraction, architecture, patterns, modularity, information hiding, functional independence, refinement, refactoring, object-oriented design concepts, and the design model process dimension. Key points include that design should implement requirements, be readable and guide implementation, and address data, functional and behavioral domains. Design quality is achieved through recognizable architectural styles, components with good characteristics, and evolutionary implementation.
Unit 3 requirements engineering processesAzhar Shaik
This document discusses requirements engineering processes. It covers topics like feasibility studies, requirements elicitation and analysis, requirements validation, and requirements management. The key activities in requirements engineering are requirements elicitation, analysis, validation, and management. Requirements engineering involves interacting with stakeholders to understand system needs and documenting requirements. Techniques like interviews, prototyping and reviews are used to validate requirements.
The document discusses system modeling as part of the requirements engineering process. It describes different types of models used to represent systems, including context models, behavioral models, data models, and object models. Specific modeling notations are introduced, such as data flow diagrams, state machines, and entity-relationship diagrams. Examples are provided to illustrate modeling concepts for systems like an ATM, order processing, and a microwave oven. The goal of system modeling is to help analysts understand system functionality from different perspectives to communicate requirements.
The document discusses several process models for software development including the waterfall model, prototyping model, spiral model, incremental model, RAD model, and unified process. The waterfall model is a linear sequential model moving down in distinct phases from conception to maintenance. The prototyping model emphasizes early customer feedback through quick building of prototypes. The spiral model combines elements of the waterfall model and prototyping model with each cycle of the spiral representing a single iteration of requirements, design, coding, and testing.
This document did not contain any text to summarize. A summary requires content in order to extract the key ideas and essential information in 3 sentences or less.
The document discusses software and software engineering. It defines software as a collection of computer programs, procedures, and associated documentation and data. Software engineering is defined as the systematic approach to developing, operating, and maintaining software. The document also discusses different types of software applications and categories, the evolution of software over time, software process frameworks, and models for personal and team software processes.
Chapter wise All Notes of First year Basic Civil Engineering.pptxDenish Jangid
Chapter wise All Notes of First year Basic Civil Engineering
Syllabus
Chapter-1
Introduction to objective, scope and outcome the subject
Chapter 2
Introduction: Scope and Specialization of Civil Engineering, Role of civil Engineer in Society, Impact of infrastructural development on economy of country.
Chapter 3
Surveying: Object Principles & Types of Surveying; Site Plans, Plans & Maps; Scales & Unit of different Measurements.
Linear Measurements: Instruments used. Linear Measurement by Tape, Ranging out Survey Lines and overcoming Obstructions; Measurements on sloping ground; Tape corrections, conventional symbols. Angular Measurements: Instruments used; Introduction to Compass Surveying, Bearings and Longitude & Latitude of a Line, Introduction to total station.
Levelling: Instrument used Object of levelling, Methods of levelling in brief, and Contour maps.
Chapter 4
Buildings: Selection of site for Buildings, Layout of Building Plan, Types of buildings, Plinth area, carpet area, floor space index, Introduction to building byelaws, concept of sun light & ventilation. Components of Buildings & their functions, Basic concept of R.C.C., Introduction to types of foundation
Chapter 5
Transportation: Introduction to Transportation Engineering; Traffic and Road Safety: Types and Characteristics of Various Modes of Transportation; Various Road Traffic Signs, Causes of Accidents and Road Safety Measures.
Chapter 6
Environmental Engineering: Environmental Pollution, Environmental Acts and Regulations, Functional Concepts of Ecology, Basics of Species, Biodiversity, Ecosystem, Hydrological Cycle; Chemical Cycles: Carbon, Nitrogen & Phosphorus; Energy Flow in Ecosystems.
Water Pollution: Water Quality standards, Introduction to Treatment & Disposal of Waste Water. Reuse and Saving of Water, Rain Water Harvesting. Solid Waste Management: Classification of Solid Waste, Collection, Transportation and Disposal of Solid. Recycling of Solid Waste: Energy Recovery, Sanitary Landfill, On-Site Sanitation. Air & Noise Pollution: Primary and Secondary air pollutants, Harmful effects of Air Pollution, Control of Air Pollution. . Noise Pollution Harmful Effects of noise pollution, control of noise pollution, Global warming & Climate Change, Ozone depletion, Greenhouse effect
Text Books:
1. Palancharmy, Basic Civil Engineering, McGraw Hill publishers.
2. Satheesh Gopi, Basic Civil Engineering, Pearson Publishers.
3. Ketki Rangwala Dalal, Essentials of Civil Engineering, Charotar Publishing House.
4. BCP, Surveying volume 1
This presentation was provided by Racquel Jemison, Ph.D., Christina MacLaughlin, Ph.D., and Paulomi Majumder. Ph.D., all of the American Chemical Society, for the second session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session Two: 'Expanding Pathways to Publishing Careers,' was held June 13, 2024.
A Visual Guide to 1 Samuel | A Tale of Two HeartsSteve Thomason
These slides walk through the story of 1 Samuel. Samuel is the last judge of Israel. The people reject God and want a king. Saul is anointed as the first king, but he is not a good king. David, the shepherd boy is anointed and Saul is envious of him. David shows honor while Saul continues to self destruct.
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxEduSkills OECD
Iván Bornacelly, Policy Analyst at the OECD Centre for Skills, OECD, presents at the webinar 'Tackling job market gaps with a skills-first approach' on 12 June 2024
Level 3 NCEA - NZ: A Nation In the Making 1872 - 1900 SML.pptHenry Hollis
The History of NZ 1870-1900.
Making of a Nation.
From the NZ Wars to Liberals,
Richard Seddon, George Grey,
Social Laboratory, New Zealand,
Confiscations, Kotahitanga, Kingitanga, Parliament, Suffrage, Repudiation, Economic Change, Agriculture, Gold Mining, Timber, Flax, Sheep, Dairying,
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPRAHUL
This Dissertation explores the particular circumstances of Mirzapur, a region located in the
core of India. Mirzapur, with its varied terrains and abundant biodiversity, offers an optimal
environment for investigating the changes in vegetation cover dynamics. Our study utilizes
advanced technologies such as GIS (Geographic Information Systems) and Remote sensing to
analyze the transformations that have taken place over the course of a decade.
The complex relationship between human activities and the environment has been the focus
of extensive research and worry. As the global community grapples with swift urbanization,
population expansion, and economic progress, the effects on natural ecosystems are becoming
more evident. A crucial element of this impact is the alteration of vegetation cover, which plays a
significant role in maintaining the ecological equilibrium of our planet.Land serves as the foundation for all human activities and provides the necessary materials for
these activities. As the most crucial natural resource, its utilization by humans results in different
'Land uses,' which are determined by both human activities and the physical characteristics of the
land.
The utilization of land is impacted by human needs and environmental factors. In countries
like India, rapid population growth and the emphasis on extensive resource exploitation can lead
to significant land degradation, adversely affecting the region's land cover.
Therefore, human intervention has significantly influenced land use patterns over many
centuries, evolving its structure over time and space. In the present era, these changes have
accelerated due to factors such as agriculture and urbanization. Information regarding land use and
cover is essential for various planning and management tasks related to the Earth's surface,
providing crucial environmental data for scientific, resource management, policy purposes, and
diverse human activities.
Accurate understanding of land use and cover is imperative for the development planning
of any area. Consequently, a wide range of professionals, including earth system scientists, land
and water managers, and urban planners, are interested in obtaining data on land use and cover
changes, conversion trends, and other related patterns. The spatial dimensions of land use and
cover support policymakers and scientists in making well-informed decisions, as alterations in
these patterns indicate shifts in economic and social conditions. Monitoring such changes with the
help of Advanced technologies like Remote Sensing and Geographic Information Systems is
crucial for coordinated efforts across different administrative levels. Advanced technologies like
Remote Sensing and Geographic Information Systems
9
Changes in vegetation cover refer to variations in the distribution, composition, and overall
structure of plant communities across different temporal and spatial scales. These changes can
occur natural.
Walmart Business+ and Spark Good for Nonprofits.pdfTechSoup
"Learn about all the ways Walmart supports nonprofit organizations.
You will hear from Liz Willett, the Head of Nonprofits, and hear about what Walmart is doing to help nonprofits, including Walmart Business and Spark Good. Walmart Business+ is a new offer for nonprofits that offers discounts and also streamlines nonprofits order and expense tracking, saving time and money.
The webinar may also give some examples on how nonprofits can best leverage Walmart Business+.
The event will cover the following::
Walmart Business + (https://business.walmart.com/plus) is a new shopping experience for nonprofits, schools, and local business customers that connects an exclusive online shopping experience to stores. Benefits include free delivery and shipping, a 'Spend Analytics” feature, special discounts, deals and tax-exempt shopping.
Special TechSoup offer for a free 180 days membership, and up to $150 in discounts on eligible orders.
Spark Good (walmart.com/sparkgood) is a charitable platform that enables nonprofits to receive donations directly from customers and associates.
Answers about how you can do more with Walmart!"
2. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 2
Testability:Testability: how easily a software can behow easily a software can be
testedtested
•• OperabilityOperability—— the better it works, the more efficiently it can be tested.the better it works, the more efficiently it can be tested. -- ItIt
operates cleanlyoperates cleanly
•• ObservabilityObservability——What you see is what you test. The results of each testWhat you see is what you test. The results of each test
case are readily observed (clear and visible variables and statecase are readily observed (clear and visible variables and states, incorrects, incorrect
output,output, ……))
•• ControllabilityControllability——the degree to which testing can be automated andthe degree to which testing can be automated and
optimizedoptimized
•• DecomposabilityDecomposability——testing can be targeted to independent modulestesting can be targeted to independent modules
•• SimplicitySimplicity——reduce complex architecture and logic to simplify testsreduce complex architecture and logic to simplify tests
•• StabilityStability——few changes are requested during testingfew changes are requested during testing
•• UnderstandabilityUnderstandability——of the designof the design
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
3. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 3
What is aWhat is a ““GoodGood”” Test?Test?
•• A good test has a high probability of finding anA good test has a high probability of finding an
errorerror
•• A good test is not redundant.A good test is not redundant.
•• A good test should beA good test should be ““best of breedbest of breed”” (best(best
between those with similar intent)between those with similar intent)
•• A good test should be neither too simple norA good test should be neither too simple nor
too complextoo complex
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
4. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 4
Test Case DesignTest Case Design
"Bugs lurk in corners"Bugs lurk in corners
and congregate atand congregate at
boundaries ..."boundaries ..."
BorisBoris BeizerBeizer
OBJECTIVEOBJECTIVE
CRITERIACRITERIA
CONSTRAINTCONSTRAINT
to uncover errorsto uncover errors
in a complete mannerin a complete manner
with a minimum of effort and timewith a minimum of effort and time
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
5. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 5
Exhaustive TestingExhaustive Testing
loop < 20 Xloop < 20 X
There are 10 possible paths! If we execute oneThere are 10 possible paths! If we execute one
test per millisecond, it would take 3,170 years totest per millisecond, it would take 3,170 years to
test this program!!test this program!!
1414
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
8. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 8
WhiteWhite--Box TestingBox Testing
... our goal is to ensure that all... our goal is to ensure that all
statements and conditions havestatements and conditions have
been executed at least once ...been executed at least once ...
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
9. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 9
Why Cover?Why Cover?
logic errors and incorrect assumptionslogic errors and incorrect assumptions
are inversely proportional to a path'sare inversely proportional to a path's
execution probabilityexecution probability
we oftenwe often believebelieve that a path is notthat a path is not
likely to be executed; in fact, reality islikely to be executed; in fact, reality is
often counter intuitiveoften counter intuitive
typographical errors are random; it'stypographical errors are random; it's
likely that untested paths will containlikely that untested paths will contain
somesome
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
10. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
Basic Path TestingBasic Path Testing
•• Define a basic set of execution pathsDefine a basic set of execution paths
•• Guarantee that every statement isGuarantee that every statement is
executed at least onceexecuted at least once
•• Using a logical complexity measure of aUsing a logical complexity measure of a
procedural design and use it as a guide forprocedural design and use it as a guide for
defining a basic set of execution pathdefining a basic set of execution path
10
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
11. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
Flow Graph NotationFlow Graph Notation
•• A representation for control flow ofA representation for control flow of
programprogram
•• Each structured constructEach structured construct --> a flow graph> a flow graph
symbolsymbol
11
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
12. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
Independent program pathIndependent program path
•• Any path through the program that introduces atAny path through the program that introduces at
least one new set of processing statements or aleast one new set of processing statements or a
new condition.new condition.
•• An independent path must move along at leastAn independent path must move along at least
one edge that has not been traversed before theone edge that has not been traversed before the
path is defined.path is defined.
•• The basic set is not unique.The basic set is not unique.
•• How do we know how many paths to look for?How do we know how many paths to look for?
–– CyclomaticCyclomatic complexitycomplexity
12
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
13. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 13
Basis Path Testing:Basis Path Testing: CyclomaticCyclomatic
ComplexityComplexity
First, we compute the cyclomatic
complexity:
number of simple decisions + 1
(simple decisions: predicate node)
or
number of enclosed areas + 1
or
E-N+2 (E number of edges, N number of nodes)
In this case, V(G) = 4
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
14. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 14
CyclomaticCyclomatic ComplexityComplexity
A number of industry studies have indicatedA number of industry studies have indicated
that the higher V(G), the higher the probabilitythat the higher V(G), the higher the probability
or errors.or errors.
V(G)V(G)
modulesmodules
modules in this range aremodules in this range are
more error pronemore error prone
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
15. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 15
Basis Path TestingBasis Path Testing
Next, we derive theNext, we derive the
independent paths:independent paths:
Since V(G) = 4,Since V(G) = 4,
there are four pathsthere are four paths
Path 1: 1,2,3,6,7,8Path 1: 1,2,3,6,7,8
Path 2: 1,2,3,5,7,8Path 2: 1,2,3,5,7,8
Path 3: 1,2,4,7,8Path 3: 1,2,4,7,8
Path 4: 1,2,4,7,2,4,...7,8Path 4: 1,2,4,7,2,4,...7,8
Finally, we derive testFinally, we derive test
cases to exercise thesecases to exercise these
paths.paths.
11
22
33
44
55 66
77
88
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
16. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 16
Basis Path Testing NotesBasis Path Testing Notes
you don't need a flow chart,you don't need a flow chart,
but the picture will help whenbut the picture will help when
you trace program pathsyou trace program paths
count each simple logical test,count each simple logical test,
compound tests count as 2 orcompound tests count as 2 or
moremore
basis path testing should bebasis path testing should be
applied to critical modulesapplied to critical modules
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
17. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
Deriving test casesDeriving test cases
•• Using the design or code, draw a flowUsing the design or code, draw a flow
diagramdiagram
•• Determine theDetermine the cyclomaticcyclomatic complexity ofcomplexity of
the flow graphthe flow graph
•• Determine a basis set of independentDetermine a basis set of independent
pathspaths
•• Prepare test cases to force the executionPrepare test cases to force the execution
of each pathof each path 17
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
18. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 18
Graph MatricesGraph Matrices
•• A tabular representation of a flow graphA tabular representation of a flow graph
•• A graph matrix is a square matrix whose sizeA graph matrix is a square matrix whose size
(i.e., number of rows and columns) is equal to(i.e., number of rows and columns) is equal to
the number of nodes on a flow graphthe number of nodes on a flow graph
–– Each row and column corresponds to an identifiedEach row and column corresponds to an identified
node, andnode, and
–– matrix entries correspond to connections (an edge)matrix entries correspond to connections (an edge)
between nodes.between nodes.
•• By adding aBy adding a link weightlink weight to each matrix entry,to each matrix entry,
the graph matrix can become a powerful toolthe graph matrix can become a powerful tool
for evaluating program control structure duringfor evaluating program control structure during
testingtesting
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
19. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
•• Link weights can beLink weights can be
–– The probability of execution of that edgeThe probability of execution of that edge
–– The processing time for execution that edgeThe processing time for execution that edge
–– The memory requiredThe memory required
–– The resource requiredThe resource required
•• Help to design test casesHelp to design test cases
19
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
20. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 20
Other Control Structure TestingOther Control Structure Testing
•• Condition testingCondition testing —— a test case design methoda test case design method
that exercises the logical conditions containedthat exercises the logical conditions contained
in a program modulein a program module
•• Data flow testingData flow testing —— selects test paths of aselects test paths of a
program according to the locations ofprogram according to the locations of
definitions (D) and uses (U) of variables in thedefinitions (D) and uses (U) of variables in the
program (every DU chain be covered at leastprogram (every DU chain be covered at least
once)once)
•• Loop testingLoop testing –– focus on validity of loopfocus on validity of loop
constructsconstructs
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
21. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 21
Loop TestingLoop Testing
four different classes of loopfour different classes of loop
NestedNested
LoopsLoops
ConcatenatedConcatenated
LoopsLoops UnstructuredUnstructured
LoopsLoops
SimpleSimple
looploop
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
22. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 22
Loop Testing: SimpleLoop Testing: Simple
LoopsLoops
Minimum conditionsMinimum conditions——Simple LoopsSimple Loops
1. skip the loop entirely1. skip the loop entirely
2. only one pass through the loop2. only one pass through the loop
3. two passes through the loop3. two passes through the loop
4. m passes through the loop m < n4. m passes through the loop m < n
5. (n5. (n--1), n, and (n+1) passes through1), n, and (n+1) passes through
the loopthe loop
where n is the maximum numberwhere n is the maximum number
of allowable passesof allowable passes
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
23. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 23
Loop Testing: Nested LoopsLoop Testing: Nested Loops
Start at the innermost loop. Set all outer loops to theirStart at the innermost loop. Set all outer loops to their
minimum iteration parameter values.minimum iteration parameter values.
Test the min+1, typical, maxTest the min+1, typical, max--1 and max for the1 and max for the
innermost loop, while holding the outer loops at theirinnermost loop, while holding the outer loops at their
minimum values.minimum values.
Move out one loop and set it up as in step 2, holding allMove out one loop and set it up as in step 2, holding all
other loops at typical values. Continue this step untilother loops at typical values. Continue this step until
the outermost loop has been tested.the outermost loop has been tested.
NestedNested LoopsLoops
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
24. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 24
Loop Testing: ConcatenatedLoop Testing: Concatenated
LoopsLoops
If the loops are independent of one anotherIf the loops are independent of one another
then treat each as a simple loopthen treat each as a simple loop
else* treat as nested loopselse* treat as nested loops
endifendif**
for example, the final loop counter value of loop 1 isfor example, the final loop counter value of loop 1 is
used to initialize loop 2.used to initialize loop 2.
Concatenated LoopsConcatenated Loops
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
26. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
•• Incorrect or missing functionsIncorrect or missing functions
•• Interface errorsInterface errors
•• Errors in Data structures or external dataErrors in Data structures or external data
base accessbase access
•• Behavior or performance errorsBehavior or performance errors
•• initialization and termination errorsinitialization and termination errors
26
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
27. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 27
BlackBlack--Box TestingBox Testing
•• How is functional validity tested?How is functional validity tested?
•• How is system behavior and performance tested?How is system behavior and performance tested?
•• What classes of input will make good test cases?What classes of input will make good test cases?
•• Is the system particularly sensitive to certain inputIs the system particularly sensitive to certain input
values?values?
•• How are the boundaries of a data class isolated?How are the boundaries of a data class isolated?
•• What data rates and data volume can the systemWhat data rates and data volume can the system
tolerate?tolerate?
•• What effect will specific combinations of data have onWhat effect will specific combinations of data have on
system operation?system operation?
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
28. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 28
GraphGraph--Based MethodsBased Methods
new
file
menu select generates
(generation time < 1.0 sec)
document
window
document
tex
t
is represented as
contains
Attributes:
background color: white
text color: default color
or preferences
(b)
object
#1
Directed link
(link weight)
object
#2
object
#
3
Undirected link
Parallel links
Node weight
(value
)
(a)
allows editing
of
To understand theTo understand the
objects that areobjects that are
modeled inmodeled in
software and thesoftware and the
relationships thatrelationships that
connect theseconnect these
objectsobjects
In this context, weIn this context, we
consider the termconsider the term
““objectsobjects”” in the broadestin the broadest
possible context. Itpossible context. It
encompasses dataencompasses data
objects, traditionalobjects, traditional
components (modules),components (modules),
and objectand object--orientedoriented
elements of computerelements of computer
software.software.
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
29. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
Graph based testingGraph based testing
•• Transaction flow modelingTransaction flow modeling
•• Finite state modelingFinite state modeling
•• Data flow modelingData flow modeling
•• Timing modeling (sequence of executionTiming modeling (sequence of execution
and its time)and its time)
29
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
30. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
Equivalence PartitioningEquivalence Partitioning
•• Divides the input domain of a programDivides the input domain of a program
into classes of data from which test casesinto classes of data from which test cases
can be derived.can be derived.
•• Define test cases that uncovers classes ofDefine test cases that uncovers classes of
errorserrors
30
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
31. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
•• If an Input condition isIf an Input condition is
–– A rangeA range
•• One valid and two invalid equivalence classesOne valid and two invalid equivalence classes
–– A specific valueA specific value
•• One valid and two invalid equivalence classesOne valid and two invalid equivalence classes
–– A member of a setA member of a set
•• One valid and one invalid equivalence classesOne valid and one invalid equivalence classes
–– BooleanBoolean
•• One valid and one invalid equivalence classesOne valid and one invalid equivalence classes 31
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
32. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao
Boundary value checkingBoundary value checking
•• A greater number of errors occurs at theA greater number of errors occurs at the
boundaries of the input domainboundaries of the input domain
32
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
33. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 33
Comparison Testing (NComparison Testing (N--versioning)versioning)
•• Used only in situations in which the reliability ofUsed only in situations in which the reliability of
software is absolutely critical (e.g., humansoftware is absolutely critical (e.g., human--
rated systems)rated systems)
–– Separate software engineering teams developSeparate software engineering teams develop
independent versions of an application using theindependent versions of an application using the
same specificationsame specification
–– Each version can be tested with the same test dataEach version can be tested with the same test data
to ensure that all provide identical outputto ensure that all provide identical output
–– Then all versions are executed in parallel with realThen all versions are executed in parallel with real--
time comparison of results to ensure consistencytime comparison of results to ensure consistency
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
34. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 34
Orthogonal Array TestingOrthogonal Array Testing
•• Used when the number of input parameters isUsed when the number of input parameters is
small and the values that each of thesmall and the values that each of the
parameters may take are clearly boundedparameters may take are clearly bounded
•• Dispersed uniformly throughout the test domainDispersed uniformly throughout the test domain
(balancing property)(balancing property)
One input item at a time L9 orthogonal array
XY
Z
X
Y
Z
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
35. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 35
OOTOOT——Test Case DesignTest Case Design
BerardBerard [BER93] proposes the following approach:[BER93] proposes the following approach:
11.. Each test case should be uniquely identified and should be expliEach test case should be uniquely identified and should be explicitlycitly
associated with the class to be tested,associated with the class to be tested,
2.2. The purpose of the test should be stated,The purpose of the test should be stated,
3.3. A list of testing steps should be developed for each test and shA list of testing steps should be developed for each test and shouldould
contain [BER94]:contain [BER94]:
a.a. a list of specified states for the object that is to be testeda list of specified states for the object that is to be tested
b.b. a list of messages and operations that will be exercised asa list of messages and operations that will be exercised as
a consequence of the testa consequence of the test
c.c. a list of exceptions that may occur as the object is testeda list of exceptions that may occur as the object is tested
d.d. a list of external conditions (i.e., changes in the environmenta list of external conditions (i.e., changes in the environment
external to the software that must exist in order to properly coexternal to the software that must exist in order to properly conductnduct
the test)the test)
e.e. supplementary information that will aid in understanding orsupplementary information that will aid in understanding or
implementing the test.implementing the test.
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
36. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 36
Testing MethodsTesting Methods
•• FaultFault--based testing (same for conventional)based testing (same for conventional)
–– The tester looks for plausible faultsThe tester looks for plausible faults
•• aspects of the implementation of the system that may resultaspects of the implementation of the system that may result
in defects.in defects.
–– To determine whether these faults exist, test cases are designedTo determine whether these faults exist, test cases are designed
to exercise the design or code.to exercise the design or code.
•• Class Testing and the Class HierarchyClass Testing and the Class Hierarchy
–– Inheritance does not obviate the need for thorough testing of alInheritance does not obviate the need for thorough testing of alll
derived classes.derived classes.
–– In fact, it can actually complicate the testing process.In fact, it can actually complicate the testing process.
•• ScenarioScenario--Based Test DesignBased Test Design
–– ScenarioScenario--based testing concentrates on what the user does, notbased testing concentrates on what the user does, not
what the product does.what the product does.
–– This means capturing the tasks (via useThis means capturing the tasks (via use--cases) that the user hascases) that the user has
to perform, then applying them and their variants as tests.to perform, then applying them and their variants as tests.
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
37. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 37
OOT Methods: Random Testing class basedOOT Methods: Random Testing class based
•• Random testing:Random testing: check class instance life historiescheck class instance life histories
–– identify operations applicable to a classidentify operations applicable to a class
–– define constraints on their usedefine constraints on their use
–– identify a minimum test sequenceidentify a minimum test sequence
•• an operation sequence that defines the minimum life history of tan operation sequence that defines the minimum life history of the class (object)he class (object)
–– generate a variety of random (but valid) testgenerate a variety of random (but valid) test
sequencessequences
•• exercise other (more complex) class instance life historiesexercise other (more complex) class instance life histories
Like for an instance of Account class: open, setup, depositLike for an instance of Account class: open, setup, deposit,,
withdraw, close And open, setup, deposit, [deposit, withdraw,withdraw, close And open, setup, deposit, [deposit, withdraw,
balance,balance, creditlimitcreditlimit], withdraw, close], withdraw, close
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
38. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 38
OOT Methods: PartitionOOT Methods: Partition TestingclassTestingclass basedbased
•• Partition TestingPartition Testing
–– reduces the number of test cases required to test a class inreduces the number of test cases required to test a class in
much the same way as equivalence partitioning formuch the same way as equivalence partitioning for
conventional softwareconventional software
–– statestate--based partitioningbased partitioning
•• categorize and test operations based on their ability to changecategorize and test operations based on their ability to change the state of a classthe state of a class
–– attributeattribute--based partitioningbased partitioning
•• categorize and test operations based on the attributes that theycategorize and test operations based on the attributes that they useuse
•• For example: partition the operations according to their use/modFor example: partition the operations according to their use/modify/donify/don’’t use ort use or
modify an attributemodify an attribute
–– categorycategory--based partitioningbased partitioning
•• categorize and test operations based on the generic function eaccategorize and test operations based on the generic function each performsh performs
•• For example: operations can be categorized asFor example: operations can be categorized as
initialization/computation/queries/terminationinitialization/computation/queries/termination
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
39. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 39
OOT Methods: InterOOT Methods: Inter--Class TestingClass Testing
(During integration)(During integration)
•• RandomRandom
–– Like in class testingLike in class testing
•• PartitioningPartitioning
–– In (intraIn (intra--)class testing: state)class testing: state--based, attributebased, attribute--based,based,
categorycategory--basedbased
Here:Here:
–– Partition according to messages which serve differentPartition according to messages which serve different
classesclasses
–– StateState--basedbased
•• BehavioralBehavioral
–– StateState--basedbased
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
40. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 40
OOT Methods: InterOOT Methods: Inter--Class TestingClass Testing
(During integration)(During integration)
•• RandomRandom
–– For each client class, use the list of class operators toFor each client class, use the list of class operators to
generate a series of random test sequences. The operatorsgenerate a series of random test sequences. The operators
will send messages to other server classes.will send messages to other server classes.
–– For each message that is generated, determine theFor each message that is generated, determine the
collaborator class and the corresponding operator in thecollaborator class and the corresponding operator in the
server object.server object.
–– For each operator in the server object (that has beenFor each operator in the server object (that has been
invoked by messages sent from the client object), determineinvoked by messages sent from the client object), determine
the messages that it transmits.the messages that it transmits.
–– For each of the messages, determine the next level ofFor each of the messages, determine the next level of
operators that are invoked and incorporate these into theoperators that are invoked and incorporate these into the
test sequencetest sequence
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net
41. 3/18/20093/18/2009 S.Sreenivasa RaoS.Sreenivasa Rao 41
OOT Methods: Behavior TestingOOT Methods: Behavior Testing
empty
acctopen setupAccnt
set up
acct
deposit
(initial)
working
acct
withdrawal
(final)
dead
acct close
nonworking
acct
deposit
withdraw
balance
credit
accntInfo
Figure 14.3 St at e diagram f or Account class (adapt ed f rom [ KIR94] )
The tests to beThe tests to be
designed shoulddesigned should
achieve all stateachieve all state
coverage [KIR94].coverage [KIR94].
That is, theThat is, the
operationoperation
sequences shouldsequences should
cause thecause the
Account class toAccount class to
make transitionmake transition
through allthrough all
allowable statesallowable states
www.jntuworld.com
www.jntuworld.com
www.jwjobs.net