Spelling suggestions: "subject:"behavior.derived devevelopment"" "subject:"behavior.derived agentdevelopment""
1 |
Reúso de cenários BDD para minimizar o esforço de migração de testes para a plataforma android / Minimizing the migration effort for the existing Android BDD platformRitter, Roger January 2018 (has links)
O desenvolvimento de versões móveis de sistemas corporativos que já executam em plataformas Desktop e/ou Web tem se tornado comum. No entanto, o processo de migração tanto da lógica de programação quanto dos testes pode ser bastante complexo, embora muitas funcionalidades permaneçam as mesmas no novo ambiente. Este trabalho propõe o reúso de cenários de teste automatizados como uma alternativa para diminuir este esforço de migração. Para isso, propõe-se uma metodologia para o reúso de cenários de teste suportada por um framework de automação de testes. A metodologia propõe que cenários BDD sejam escritos uma única vez e executados em diferentes plataformas, como Desktop, Web, Móvel ou outra que venha a existir. Para dar suporte à metodologia proposta, o framework dbehave foi estendido para permitir a execução de cenários de teste em plataformas móveis. Uma segunda extensão no framework permite ainda que cenários específicos de uma plataforma possam ser escritos junto aos demais cenários mas executados apenas na plataforma de interesse, permitindo ao desenvolvedor uma maior autonomia na organização e manutenção dos cenários. A metodologia proposta foi utilizada em dois estudos de caso e se mostrou útil, uma vez que uma média de 81.2% dos cenários de aplicações reais foram reutilizados, havendo uma redução considerável no esforço de migração entre plataformas e na escrita de cenários. / The development of enterprise applications in multiple platforms (Desktop and/or Web and/or Mobile) has become a trend. However, the process of migrating both programming logic and software tests can be very complex, although many functionalities remain the same in the new environment. This work proposes the reuse of automated test scenarios as an alternative to reduce this migration effort. We propose a test methodology that is supported by a test automation framework. The methodology proposes the developer writes BDD scenarios only once and executes such scenarios on different platforms, such as Desktop, Web, Mobile or other that may exist. The dbehave framework was extended to support the execution of test scenarios in mobile platforms. Furthermore, the framework now allows the selection of which scenarios should be executed in which platforms, i.e., platform-specific scenarios can be written next to the other scenarios and run only on the platform of interest. This provides the developer greater autonomy in the organization and maintenance of the scenarios. The proposed methodology was used in two case studies and proved useful, since an average of 81.2% of the real application scenarios were reused, with a considerable reduction in the effort for cross-platform migration and scenario writing.
|
2 |
Uma abordagem de teste para aplicativos android utilizando os cenários do behavior driven development / A test approach for Android apps using the behavior driven development scenariosAlbiero, Fernando Weber January 2017 (has links)
Os aplicativos móveis, desenvolvidos originalmente para a área do entretenimento, hoje estão presentes nos mais diversos domínios, sendo comuns inclusive em áreas de alto valor agregado, como: varejista, logística, bancária, médica, entre outras. Portanto, a qualidade e correção dos aplicativos móveis tornam-se obrigatórios e as atividades de teste essenciais. Porém a qualidade das aplicações móveis nem sempre é satisfatória. Isso ocorre devido ao fato dessas aplicações sofrerem com a pressão do mercado e passarem por um processo muito rápido de desenvolvimento, onde geralmente a fase de testes é negligenciada ou realizada de forma superficial, pela própria equipe de desenvolvimento, comprometendo assim a qualidade da aplicação. Este trabalho propõe uma abordagem baseada no Behavior Driven Development para ajudar na definição de testes de sistema para aplicativos nativos do Android. A abordagem proposta utiliza os arquivos de leiaute da aplicação para extrair informações sobre os componentes da interface e sobre os eventos esperados pelo sistema. A partir dessas informações, é possível verificar a cobertura dos cenários existentes em relação aos eventos disponíveis na interface com o usuário. Além disso, é possível identificar elementos do leiaute que não são exercitados pelos cenários existentes. A abordagem proposta é implementada por uma ferramenta chamada Android Behavior Testing Tool que, por meio da interpretação dos cenários do Behavior Driven Development, fornece uma visão geral do fluxo comportamental da aplicação ao testador (visão hoje não disponível), proporcionando assim uma noção de fácil compreensão sobre a cobertura dos testes em relação aos elementos da interface do aplicativo. Desta forma, o testador pode julgar a integridade dos casos de teste disponíveis em relação às funcionalidades implementadas e, se necessário, implementar novos testes. A ferramenta também faz uso dos arquivos de leiaute do aplicativo para identificar os componentes da interface que não foram testados e gera, neste caso, modelos de cenários no formato do BDD, automatizando assim a tarefa de escrita dos mesmos. A abordagem proposta foi utilizada em quatro aplicativos Android e se mostrou útil, uma vez que, em três estudos de caso foram detectados bugs oriundos de inconsistências lógicas nos cenários ou elementos não exercitados pelos cenários. / Mobile applications, originally developed for entertainment, nowadays are present in a wide range of domains, being common even in areas of high value such as retailer, logistics, banking, and medical, among others. However, the quality and correctness of mobile applications become mandatory and testing activities are essential. However, the quality of mobile applications is not always good enough. This is because these applications suffer from market pressure and pass through a very rapid development process where the testing phase usually is neglected or superficially performed by the development team itself, thus compromising the quality of the application. This work proposes an approach based on Behavior Driven Development to help to define system tests for native Android applications. The proposed approach uses the application's layout files to extract information about the interface components and the events expected by the system. From this information, it is possible to check out the coverage of existing test scenarios against events available in the user interface. In addition, it is possible to identify unexercised usage scenarios from the existing test scenarios. The proposed approach is implemented by a tool called Android Behavior Testing Tool which, through the interpretation of the BDD usage scenarios, provides to the tester an overview of the behavioral flow of the application (otherwise unavailable), thus providing a notion of easy understanding of test coverage in relation to the application interface elements. In this way, the tester can judge the integrity of the available test cases in relation to the functionalities implemented and, if necessary, implement new tests. The tool also makes use of the application's layout files to identify untested interface components and in this case generates test scenario models in the BDD format, thus automating the writing task of the scenarios. The proposed approach was used in four Android applications and proved to be useful, since in three case studies bugs were detected. Detected bugs originated from logical inconsistencies in the test scenarios or elements that were not exercised by the scenarios.
|
3 |
Reúso de cenários BDD para minimizar o esforço de migração de testes para a plataforma android / Minimizing the migration effort for the existing Android BDD platformRitter, Roger January 2018 (has links)
O desenvolvimento de versões móveis de sistemas corporativos que já executam em plataformas Desktop e/ou Web tem se tornado comum. No entanto, o processo de migração tanto da lógica de programação quanto dos testes pode ser bastante complexo, embora muitas funcionalidades permaneçam as mesmas no novo ambiente. Este trabalho propõe o reúso de cenários de teste automatizados como uma alternativa para diminuir este esforço de migração. Para isso, propõe-se uma metodologia para o reúso de cenários de teste suportada por um framework de automação de testes. A metodologia propõe que cenários BDD sejam escritos uma única vez e executados em diferentes plataformas, como Desktop, Web, Móvel ou outra que venha a existir. Para dar suporte à metodologia proposta, o framework dbehave foi estendido para permitir a execução de cenários de teste em plataformas móveis. Uma segunda extensão no framework permite ainda que cenários específicos de uma plataforma possam ser escritos junto aos demais cenários mas executados apenas na plataforma de interesse, permitindo ao desenvolvedor uma maior autonomia na organização e manutenção dos cenários. A metodologia proposta foi utilizada em dois estudos de caso e se mostrou útil, uma vez que uma média de 81.2% dos cenários de aplicações reais foram reutilizados, havendo uma redução considerável no esforço de migração entre plataformas e na escrita de cenários. / The development of enterprise applications in multiple platforms (Desktop and/or Web and/or Mobile) has become a trend. However, the process of migrating both programming logic and software tests can be very complex, although many functionalities remain the same in the new environment. This work proposes the reuse of automated test scenarios as an alternative to reduce this migration effort. We propose a test methodology that is supported by a test automation framework. The methodology proposes the developer writes BDD scenarios only once and executes such scenarios on different platforms, such as Desktop, Web, Mobile or other that may exist. The dbehave framework was extended to support the execution of test scenarios in mobile platforms. Furthermore, the framework now allows the selection of which scenarios should be executed in which platforms, i.e., platform-specific scenarios can be written next to the other scenarios and run only on the platform of interest. This provides the developer greater autonomy in the organization and maintenance of the scenarios. The proposed methodology was used in two case studies and proved useful, since an average of 81.2% of the real application scenarios were reused, with a considerable reduction in the effort for cross-platform migration and scenario writing.
|
4 |
Uma abordagem de teste para aplicativos android utilizando os cenários do behavior driven development / A test approach for Android apps using the behavior driven development scenariosAlbiero, Fernando Weber January 2017 (has links)
Os aplicativos móveis, desenvolvidos originalmente para a área do entretenimento, hoje estão presentes nos mais diversos domínios, sendo comuns inclusive em áreas de alto valor agregado, como: varejista, logística, bancária, médica, entre outras. Portanto, a qualidade e correção dos aplicativos móveis tornam-se obrigatórios e as atividades de teste essenciais. Porém a qualidade das aplicações móveis nem sempre é satisfatória. Isso ocorre devido ao fato dessas aplicações sofrerem com a pressão do mercado e passarem por um processo muito rápido de desenvolvimento, onde geralmente a fase de testes é negligenciada ou realizada de forma superficial, pela própria equipe de desenvolvimento, comprometendo assim a qualidade da aplicação. Este trabalho propõe uma abordagem baseada no Behavior Driven Development para ajudar na definição de testes de sistema para aplicativos nativos do Android. A abordagem proposta utiliza os arquivos de leiaute da aplicação para extrair informações sobre os componentes da interface e sobre os eventos esperados pelo sistema. A partir dessas informações, é possível verificar a cobertura dos cenários existentes em relação aos eventos disponíveis na interface com o usuário. Além disso, é possível identificar elementos do leiaute que não são exercitados pelos cenários existentes. A abordagem proposta é implementada por uma ferramenta chamada Android Behavior Testing Tool que, por meio da interpretação dos cenários do Behavior Driven Development, fornece uma visão geral do fluxo comportamental da aplicação ao testador (visão hoje não disponível), proporcionando assim uma noção de fácil compreensão sobre a cobertura dos testes em relação aos elementos da interface do aplicativo. Desta forma, o testador pode julgar a integridade dos casos de teste disponíveis em relação às funcionalidades implementadas e, se necessário, implementar novos testes. A ferramenta também faz uso dos arquivos de leiaute do aplicativo para identificar os componentes da interface que não foram testados e gera, neste caso, modelos de cenários no formato do BDD, automatizando assim a tarefa de escrita dos mesmos. A abordagem proposta foi utilizada em quatro aplicativos Android e se mostrou útil, uma vez que, em três estudos de caso foram detectados bugs oriundos de inconsistências lógicas nos cenários ou elementos não exercitados pelos cenários. / Mobile applications, originally developed for entertainment, nowadays are present in a wide range of domains, being common even in areas of high value such as retailer, logistics, banking, and medical, among others. However, the quality and correctness of mobile applications become mandatory and testing activities are essential. However, the quality of mobile applications is not always good enough. This is because these applications suffer from market pressure and pass through a very rapid development process where the testing phase usually is neglected or superficially performed by the development team itself, thus compromising the quality of the application. This work proposes an approach based on Behavior Driven Development to help to define system tests for native Android applications. The proposed approach uses the application's layout files to extract information about the interface components and the events expected by the system. From this information, it is possible to check out the coverage of existing test scenarios against events available in the user interface. In addition, it is possible to identify unexercised usage scenarios from the existing test scenarios. The proposed approach is implemented by a tool called Android Behavior Testing Tool which, through the interpretation of the BDD usage scenarios, provides to the tester an overview of the behavioral flow of the application (otherwise unavailable), thus providing a notion of easy understanding of test coverage in relation to the application interface elements. In this way, the tester can judge the integrity of the available test cases in relation to the functionalities implemented and, if necessary, implement new tests. The tool also makes use of the application's layout files to identify untested interface components and in this case generates test scenario models in the BDD format, thus automating the writing task of the scenarios. The proposed approach was used in four Android applications and proved to be useful, since in three case studies bugs were detected. Detected bugs originated from logical inconsistencies in the test scenarios or elements that were not exercised by the scenarios.
|
5 |
Uma abordagem de teste para aplicativos android utilizando os cenários do behavior driven development / A test approach for Android apps using the behavior driven development scenariosAlbiero, Fernando Weber January 2017 (has links)
Os aplicativos móveis, desenvolvidos originalmente para a área do entretenimento, hoje estão presentes nos mais diversos domínios, sendo comuns inclusive em áreas de alto valor agregado, como: varejista, logística, bancária, médica, entre outras. Portanto, a qualidade e correção dos aplicativos móveis tornam-se obrigatórios e as atividades de teste essenciais. Porém a qualidade das aplicações móveis nem sempre é satisfatória. Isso ocorre devido ao fato dessas aplicações sofrerem com a pressão do mercado e passarem por um processo muito rápido de desenvolvimento, onde geralmente a fase de testes é negligenciada ou realizada de forma superficial, pela própria equipe de desenvolvimento, comprometendo assim a qualidade da aplicação. Este trabalho propõe uma abordagem baseada no Behavior Driven Development para ajudar na definição de testes de sistema para aplicativos nativos do Android. A abordagem proposta utiliza os arquivos de leiaute da aplicação para extrair informações sobre os componentes da interface e sobre os eventos esperados pelo sistema. A partir dessas informações, é possível verificar a cobertura dos cenários existentes em relação aos eventos disponíveis na interface com o usuário. Além disso, é possível identificar elementos do leiaute que não são exercitados pelos cenários existentes. A abordagem proposta é implementada por uma ferramenta chamada Android Behavior Testing Tool que, por meio da interpretação dos cenários do Behavior Driven Development, fornece uma visão geral do fluxo comportamental da aplicação ao testador (visão hoje não disponível), proporcionando assim uma noção de fácil compreensão sobre a cobertura dos testes em relação aos elementos da interface do aplicativo. Desta forma, o testador pode julgar a integridade dos casos de teste disponíveis em relação às funcionalidades implementadas e, se necessário, implementar novos testes. A ferramenta também faz uso dos arquivos de leiaute do aplicativo para identificar os componentes da interface que não foram testados e gera, neste caso, modelos de cenários no formato do BDD, automatizando assim a tarefa de escrita dos mesmos. A abordagem proposta foi utilizada em quatro aplicativos Android e se mostrou útil, uma vez que, em três estudos de caso foram detectados bugs oriundos de inconsistências lógicas nos cenários ou elementos não exercitados pelos cenários. / Mobile applications, originally developed for entertainment, nowadays are present in a wide range of domains, being common even in areas of high value such as retailer, logistics, banking, and medical, among others. However, the quality and correctness of mobile applications become mandatory and testing activities are essential. However, the quality of mobile applications is not always good enough. This is because these applications suffer from market pressure and pass through a very rapid development process where the testing phase usually is neglected or superficially performed by the development team itself, thus compromising the quality of the application. This work proposes an approach based on Behavior Driven Development to help to define system tests for native Android applications. The proposed approach uses the application's layout files to extract information about the interface components and the events expected by the system. From this information, it is possible to check out the coverage of existing test scenarios against events available in the user interface. In addition, it is possible to identify unexercised usage scenarios from the existing test scenarios. The proposed approach is implemented by a tool called Android Behavior Testing Tool which, through the interpretation of the BDD usage scenarios, provides to the tester an overview of the behavioral flow of the application (otherwise unavailable), thus providing a notion of easy understanding of test coverage in relation to the application interface elements. In this way, the tester can judge the integrity of the available test cases in relation to the functionalities implemented and, if necessary, implement new tests. The tool also makes use of the application's layout files to identify untested interface components and in this case generates test scenario models in the BDD format, thus automating the writing task of the scenarios. The proposed approach was used in four Android applications and proved to be useful, since in three case studies bugs were detected. Detected bugs originated from logical inconsistencies in the test scenarios or elements that were not exercised by the scenarios.
|
6 |
Extending Automated Testing To High-level Software Requirements : A study on the feasibility of automated acceptance-testingRai, Poonam January 2016 (has links)
Automated acceptance testing is the testing of software done in higher level to test whether the system abides by the requirements desired by the business clients by the use of piece of script other than the software itself. This project is a study of the feasibility of acceptance tests written in Behavior Driven Development principle. The project includes an implementation part where automated accep- tance testing is written for Touch-point web application developed by Dewire (a software consultant company) for Telia (a telecom company) from the require- ments received from the customer (Telia). The automated acceptance testing is in Cucumber-Selenium framework which enforces Behavior Driven Development principles. The purpose of the implementation is to verify the practicability of this style of acceptance testing. From the completion of implementation, it was concluded that all the requirements from customer in real world can be converted into executable specifications and the process was not at all time-consuming or difficult for a low-experienced programmer like the author itself. The project also includes survey to measure the learnability and understandability of Gherkin- the language that Cucumber understands. The survey consist of some Gherkin exam- ples followed with questions that include making changes to the Gherkin exam- ples. Survey had 3 parts: first being easy, second medium and third most difficult. Survey also had a linear scale from 1 to 5 to rate the difficulty level for each part of the survey. 1 stood for very easy and 5 for very difficult. Time when the partic- ipants began the survey was also taken in order to calculate the total time taken by the participants to learn and answer the questions. Survey was taken by 18 of the employers of Dewire who had primary working role as one of the programmer, tester and project manager. In the result, tester and project manager were grouped as non-programmer. The survey concluded that it is very easy and quick to learn Gherkin. While the participants rated Gherkin as very easy.
|
7 |
Automatically Generating Tests from Natural Language Descriptions of Software BehaviorSunil Kamalakar, FNU 18 October 2013 (has links)
Behavior-Driven Development (BDD) is an emerging agile development approach where all stakeholders (including developers and customers) work together to write user stories in structured natural language to capture a software application's functionality in terms of re- quired "behaviors". Developers then manually write "glue" code so that these scenarios can be executed as software tests. This glue code represents individual steps within unit and acceptance test cases, and tools exist that automate the mapping from scenario descriptions to manually written code steps (typically using regular expressions). Instead of requiring programmers to write manual glue code, this thesis investigates a practical approach to con- vert natural language scenario descriptions into executable software tests fully automatically. To show feasibility, we developed a tool called Kirby that uses natural language processing techniques, code information extraction and probabilistic matching to automatically gener- ate executable software tests from structured English scenario descriptions. Kirby relieves the developer from the laborious work of writing code for the individual steps described in scenarios, so that both developers and customers can both focus on the scenarios as pure behavior descriptions (understandable to all, not just programmers). Results from assessing the performance and accuracy of this technique are presented. / Master of Science
|
8 |
Effects on Software Quality and Collaboration with Behavior-Driven DevelopmentEriksson, Per January 2023 (has links)
The field of software engineering consists of complex processes to deliver valuableand useful software to end users. Requirements discovery and software testing hasevolved significantly over the last decades with an increased focus on agility anddelivering customer value. Behavior-Driven Development (BDD), an extension ofTest-Driven Development, is a test-first requirements collection and acceptance test-ing framework. Despite a high practitioner interest within the industry, there arecurrently only a limited number of studies within academia available on the feasibilityof BDD. The aim of this thesis is to investigate the impact of BDD on software qualityand stakeholder collaboration. This is done by studying a quality assurance teamconsisting of management and development resources as BDD activities are practicedin the development of a new application. Semi-structured interviews are then heldwith participants to identify perceived and expected benefits as well as identifiedchallenges throughout the process. Responses are finally collected and coded into athematic map from which conclusions are drawn and discussed. As we have found in our study, many practical and organizational aspects areraised when BDD is implemented. Benefits include increased team collaboration,team alignment, and software quality. Challenges include management and teammotivation issues, increased workload, loss of productivity, BDD benefit visibilityissues, and the need for experience to be able to implement BDD successfully.
|
9 |
Question-based checklist to evaluate BDD scenarios' qualityOliveira, Gabriel Pimentel Affonso de 14 March 2018 (has links)
Submitted by PPG Ci?ncia da Computa??o (ppgcc@pucrs.br) on 2018-05-08T18:28:23Z
No. of bitstreams: 1
GABRIEL_PIMENTEL_AFFONSO_DE_OLIVEIRA_DIS.pdf: 1728021 bytes, checksum: ccf1b372e65c1d0cf709157eeb0723ca (MD5) / Approved for entry into archive by Caroline Xavier (caroline.xavier@pucrs.br) on 2018-05-15T18:27:29Z (GMT) No. of bitstreams: 1
GABRIEL_PIMENTEL_AFFONSO_DE_OLIVEIRA_DIS.pdf: 1728021 bytes, checksum: ccf1b372e65c1d0cf709157eeb0723ca (MD5) / Made available in DSpace on 2018-05-15T18:37:12Z (GMT). No. of bitstreams: 1
GABRIEL_PIMENTEL_AFFONSO_DE_OLIVEIRA_DIS.pdf: 1728021 bytes, checksum: ccf1b372e65c1d0cf709157eeb0723ca (MD5)
Previous issue date: 2018-03-14 / Tradicionalmente, a engenharia de requisitos se baseia na execu??o sequencial de atividades. Por outro lado, a engenharia de requisitos em metodologias ?geis ? informal. Projetos ?geis s?o bem sucedidos ?sem requisitos? gra?as ao fato de que casos de teste s?o comumentemente vistos como requisitos e de que requisitos s?o detalhados como casos de teste que servem tambem para validar e aceitar cada funcionalidade. Um dos formato destes testes de aceita??o s?o cen?rios criados a partir da t?cnica de desenvolvimento orientado a comportamento (do ingl?s, behavior-driven development, BDD). Estes cen?rios ajudam a evitar problemas de comunica??o entre especialistas de dom?nio e programadores, j? que estes cen?rios s?o escritos numa linguagem comum a esses dois grupos, permitindo um caminho menos amb?guo dos requisitos de neg?cio para a especifica??o do comportamento do um software. Entretanto, aqueles que formalizam cen?rios BDD n?o possuem um conjunto padr?o de regras para se familiarizarem com o conceito de um ?bom? cen?rio, o que pode permitir que cen?rios BDD sofram de problemas conhecidos pela engenharia de requisitos, tais como requisitos incompletos, mal especificados ou inconsistentes. Portanto, para preencher essa lacuna, nessa pesquisa foram coletados dados de entrevistas semi-estruturadas com praticantes de BDD para propormos uma lista de verifica??o baseada em quest?es com 12 perguntas associadas a 8 atributos de qualidade. Esse instrumento deve prover aos praticantes de BDD orienta??es padronizadas para o refinamento de seus cen?rios. / Traditional requirements engineering approaches are based on a sequential execution of activities. In the other hand, requirements engineering in agile development is informal. Agile projects succeed ?without requirements? due to the fact that test cases are commonly viewed as requirements and detailed requirements are documented as test cases that also validate and accept each feature. One format of those acceptance test cases is Behavior-Driven Development scenarios. Those scenarios help to avoid communication problems between the domain experts and programmers on the team, as they are defined using a common language that allows for an easy, less ambiguous path from end-user business requirements to the specification of how the software should behave. However, those who formalize BDD scenarios do not have a standard set of rules to educate themselves on what a ?good? BDD scenario is, which can allow BDD scenarios to suffer from other known problems in requirement engineering such as incomplete, underspecified and inconsistent requirements. Therefore, to fill that gap, this research gathered data from semi-structures interviews performed with BDD practitioners to propose a question-based checklist based on 8 newly defined quality attributes. This question-based checklist provides practitioners with an standard guideline for BDD scenarios? refinement
|
10 |
Behavior Driven Development in a Large-Scale Application : Evaluation of Usage for Developing IFS ApplicationsDelshad, Payman January 2016 (has links)
Nowadays, Agile software development methods are often used in large multisite organizations that develop large-scale applications. Behavior Driven Development (BDD) is a relatively new Agile software development process where the development process starts with acceptance tests written in a natural language. The premise of BDD is to create a common and effective process of communication between different roles in a software project to ensure that every activity can be mapped to the business goal of the application. This thesis work aims to find an effective and efficient BDD process and to evaluate its usage in a large-scale application in a large multisite organization through a series of interviews, a controlled experiment, and an online survey. Furthermore, by means of the aforementioned experiment, the study measures the impact of an experimental usage of BDD on testing quality. To discover an effective and efficient BDD process, two alternatives with automated tests that run on different architectural layers, namely client layer and web service layer, were examined. Based on the defined metrics, the alternative with automated tests that ran directly on the web service layer was chosen as the more efficient process which was compared against the existing Agile-based baseline that used automated client tests. The results show that an efficient BDD process improves the testing quality significantly which can, in turn, result in a better overall software quality.
|
Page generated in 0.2155 seconds