Measuring the impact of instant high quality feedback.Stephen Nutbrown
Measuring the impact of instant high quality feedback presented at the 5th International Assessment in Higher Education Conference. Stephen Nutbrown, Su Beesley & Colin Higgins, 2015.
Different testers have different understandings of the role and mission of software testing; of the approaches, methods, and techniques to use during testing.
The document presents research on active learning strategies for robots that interact with human teachers. It found that classic active learning, which aims for query efficiency, can increase task difficulty and lead to slower, less accurate responses from teachers compared to more teacher-aware strategies. A hybrid strategy achieved intermediate results. The researchers conclude that considering the human perspective is important for active learning, as efficiency alone can undermine the interaction and learning.
Dmitriy Babichenko, Jonathan Velez - To Scope or Not To Scope: Challenges of ...SeriousGamesAssoc
Dmitriy Babichenko, Jonathan Velez, University of Pittsburgh
This presentation was given at the 2017 Serious Play Conference, hosted by the George Mason University - Virginia Serious Play Institute.
ScopingSim is an interactive alternate-controller-based serious game that uses off-the-shelf open-source components that can be plugged into virtually any computer and is designed to leverage engaging gaming elements to motivate learners to practice both mechanical and diagnostic aspects of scoping procedures.
This presentation will address a number of challenges that we had to overcome in order to develop a useful working prototype, including collecting requirements, underestimating costs, dealing with student developers and continuity of support, setting up experiments to identify models of expertise and feedback mechanisms, and making decisions on whether or not to use VR technologies. Physical medical simulators (mannequins) are widely used for training medical students and medical personnel to perform specialized procedures, hone diagnostic techniques, and improve clinical decision-making skills in critical situations. Such mannequin simulators, however, are often extremely expensive, require development of complex teaching scenarios, support of technical staff, and presence of a clinical expert for debriefing and feedback.
To address these issues we began to develop ScopingSim - an interactive alternate-controller-based serious game that uses off-the-shelf open-source components, can be plugged into virtually any computer, and leverages engaging gaming elements to motivate learners to practice both mechanical and diagnostic aspects of scoping procedures.
This presentation will address a number of challenges that we had to overcome in order to develop a useful working prototype, including collecting requirements, underestimating costs, dealing with student developers and continuity of support, setting up experiments to identify models of expertise and feedback mechanisms, and making decisions on whether or not to use VR technologies.
Paulette Robinson - Microlearning and Gamification in Policy LeadershipSeriousGamesAssoc
Paulette Robinson, Office of Personnel Management (OPM)
The policy courses for government leaders offered by OPM in its open enrollment catalog have been redesigned using a blended model that includes microlearning and gamification.
In this session, Dr. Robinson will report on the development process and the effectiveness of the new designed based on data collected.
Link to video found in slide deck: https://youtu.be/7KmRFrrYk9Y
This study evaluates machine translation systems using second language proficiency tests to measure human performance on tasks using machine-translated texts. The researchers had 320 Japanese junior high students answer multiple-choice questions based on conversations translated by 4 systems - Google Translate, Yahoo Translate, and two human translations, one with and one without context. They found that considering context was important for accurate translations, as the system that included context performed better. Scores on the proficiency tests agreed somewhat with automatic evaluation metrics but captured additional aspects of translation quality. The tests also proved robust to differences between test-takers.
A computer adaptive test (CAT) is an online test that adapts to each student's ability level. It selects test questions tailored to what a student knows based on their responses. This makes the test individualized, accurate, and efficient. The computer selects progressively harder questions if a student answers correctly, and easier ones if they answer incorrectly, until it can precisely measure their proficiency level. This provides a more accurate assessment than a traditional paper test by ensuring questions are neither too hard nor too easy for each student.
This document discusses issues with existing software quality models and proposes a new approach using design patterns. The proposed approach focuses on flexibility, reusability, robustness, scalability, and usability. It involves identifying programs that use certain patterns, assessing the quality of pattern usage, computing metrics on the programs, and linking the metrics to quality assessments using machine learning. This allows evaluating subsets of a program's design based on patterns rather than evaluating entire programs or single classes.
Measuring the impact of instant high quality feedback.Stephen Nutbrown
Measuring the impact of instant high quality feedback presented at the 5th International Assessment in Higher Education Conference. Stephen Nutbrown, Su Beesley & Colin Higgins, 2015.
Different testers have different understandings of the role and mission of software testing; of the approaches, methods, and techniques to use during testing.
The document presents research on active learning strategies for robots that interact with human teachers. It found that classic active learning, which aims for query efficiency, can increase task difficulty and lead to slower, less accurate responses from teachers compared to more teacher-aware strategies. A hybrid strategy achieved intermediate results. The researchers conclude that considering the human perspective is important for active learning, as efficiency alone can undermine the interaction and learning.
Dmitriy Babichenko, Jonathan Velez - To Scope or Not To Scope: Challenges of ...SeriousGamesAssoc
Dmitriy Babichenko, Jonathan Velez, University of Pittsburgh
This presentation was given at the 2017 Serious Play Conference, hosted by the George Mason University - Virginia Serious Play Institute.
ScopingSim is an interactive alternate-controller-based serious game that uses off-the-shelf open-source components that can be plugged into virtually any computer and is designed to leverage engaging gaming elements to motivate learners to practice both mechanical and diagnostic aspects of scoping procedures.
This presentation will address a number of challenges that we had to overcome in order to develop a useful working prototype, including collecting requirements, underestimating costs, dealing with student developers and continuity of support, setting up experiments to identify models of expertise and feedback mechanisms, and making decisions on whether or not to use VR technologies. Physical medical simulators (mannequins) are widely used for training medical students and medical personnel to perform specialized procedures, hone diagnostic techniques, and improve clinical decision-making skills in critical situations. Such mannequin simulators, however, are often extremely expensive, require development of complex teaching scenarios, support of technical staff, and presence of a clinical expert for debriefing and feedback.
To address these issues we began to develop ScopingSim - an interactive alternate-controller-based serious game that uses off-the-shelf open-source components, can be plugged into virtually any computer, and leverages engaging gaming elements to motivate learners to practice both mechanical and diagnostic aspects of scoping procedures.
This presentation will address a number of challenges that we had to overcome in order to develop a useful working prototype, including collecting requirements, underestimating costs, dealing with student developers and continuity of support, setting up experiments to identify models of expertise and feedback mechanisms, and making decisions on whether or not to use VR technologies.
Paulette Robinson - Microlearning and Gamification in Policy LeadershipSeriousGamesAssoc
Paulette Robinson, Office of Personnel Management (OPM)
The policy courses for government leaders offered by OPM in its open enrollment catalog have been redesigned using a blended model that includes microlearning and gamification.
In this session, Dr. Robinson will report on the development process and the effectiveness of the new designed based on data collected.
Link to video found in slide deck: https://youtu.be/7KmRFrrYk9Y
This study evaluates machine translation systems using second language proficiency tests to measure human performance on tasks using machine-translated texts. The researchers had 320 Japanese junior high students answer multiple-choice questions based on conversations translated by 4 systems - Google Translate, Yahoo Translate, and two human translations, one with and one without context. They found that considering context was important for accurate translations, as the system that included context performed better. Scores on the proficiency tests agreed somewhat with automatic evaluation metrics but captured additional aspects of translation quality. The tests also proved robust to differences between test-takers.
A computer adaptive test (CAT) is an online test that adapts to each student's ability level. It selects test questions tailored to what a student knows based on their responses. This makes the test individualized, accurate, and efficient. The computer selects progressively harder questions if a student answers correctly, and easier ones if they answer incorrectly, until it can precisely measure their proficiency level. This provides a more accurate assessment than a traditional paper test by ensuring questions are neither too hard nor too easy for each student.
This document discusses issues with existing software quality models and proposes a new approach using design patterns. The proposed approach focuses on flexibility, reusability, robustness, scalability, and usability. It involves identifying programs that use certain patterns, assessing the quality of pattern usage, computing metrics on the programs, and linking the metrics to quality assessments using machine learning. This allows evaluating subsets of a program's design based on patterns rather than evaluating entire programs or single classes.
A CAT (computer adaptive test) is an individually tailored test that adapts to each student's ability level. It draws from a large bank of test items on the subject and selects increasingly difficult or easy questions based on whether the student answers correctly or incorrectly. This allows each student to be tested at an appropriate level and receive a customized exam assessing their true knowledge and abilities. The computer portion enables engaging multimedia questions and efficient scoring. A CAT provides more accurate, individualized and secure assessments that deliver fast results.
Using interactive models to enhance UML educationStephen Frezza
Describes a pilot project to utilize flash to create an interactive model of a UML design. This allowed students to investigate the semantic concepts involved in the design, and enhance their learning of UML notations and use.
The document discusses improving testing organizations through adopting the Test Maturity Model Integration (TMMI). It notes that organizations often struggle with issues like poor communication, lack of work standards, and quality problems. The TMMI model provides a structured framework of process areas and practices that can help build an effective testing approach. The case study describes how one organization used TMMI at levels 2-4 to implement tools like Confluence and JIRA, establish a knowledge base, and define requirements, test cases, and reporting processes. Adopting the TMMI model helped solve their challenges and build better quality.
#LearnPAd prototype early validation - feedbacks from end usersAndrea Sergiacomi
The document describes an early validation of the Learn PAd e-learning platform prototype involving end-users from two case studies. Feedback was collected through a quantitative questionnaire and focus group discussion. The focus group provided comments on various topics which were categorized in a spreadsheet. Next steps include refining existing models for the case studies, providing additional recommender content, multimedia learning materials, and description texts. Risks identified from the feedback include a lack of overview information, grouping of models, and ensuring accurate terminology is used.
The document provides information about preparing for the ISTQB Foundation Level Examination. It discusses that ISTQB is an international software testing certification organization. It operates the ISTQB Certified Tester certification which is based on an established syllabus. The syllabus covers 6 chapters on fundamentals of testing, testing throughout the software life cycle, static techniques, test design techniques, test management, and tool support for testing. The exam has 40 multiple choice questions to be completed in 90 minutes, with a passing score of 65% or 26 correct answers. It provides tips for preparation such as allowing enough time, studying the complete syllabus, taking sample tests, and carefully reading questions and answers.
This document discusses computer-based assessment (CBA), also known as computer-based testing. CBA involves administering tests electronically, where responses are recorded and assessed using computers. The document outlines the benefits of CBA, such as flexible administration, enhanced security, and immediate scoring. It also describes different types of tests, including objective and subjective tests, and provides guidelines for developing valid and reliable CBA tests. Key aspects addressed include defining learning objectives, structuring test questions, designing an assessment, and evaluating the validity of the final computerized test.
At Michigan Technological University, faculty implemented competency assessments in two first-year engineering courses to ensure students mastered key skills in technical modeling, programming, and units conversion before advancing. Students took assessments in NX 3D modeling, MATLAB programming, and units conversions, and were allowed repeated attempts until meeting minimum thresholds. Data showed mastery rates increased with additional attempts, though some students struggled with both programming and modeling. Faculties aim was for students to demonstrate competency in skills required for future engineering coursework.
Java parser a fine grained indexing tool and its applicationRoya Hosseini
1) The document discusses an intelligent tutoring system called Knowledge Maximizer (KM) that uses fine-grained modeling of programming concepts to provide personalized exam preparation for students.
2) An evaluation of KM compared to other course tutoring systems found that students using KM attempted more complex questions, had a higher success rate, and achieved greater knowledge gains.
3) An automatic tool called JavaParser was developed to index programming questions by the underlying concepts, achieving over 98% accuracy compared to manual indexing. Future work aims to improve modeling and provide more adaptive support.
A Survey on Software Release Planning Models - Slides for the Presentation @ ...Supersede
Software release planning (SRP) is the problem of selecting which features or requirements will be included in the next release or releases. It is a crucial step in software development, which happens to be extremely complex given the need to reconcile multiple decision making criteria, (e.g., business value, effort and cost), while considering several constraints (e.g., feature precedencies, resource availa-bility). For this reason, several SRP models have been proposed in the literature. The objective of this study is to provide an updated review of SRP approaches reported in the literature.
Innovations in EAP oral assessment: the IOA projectPrithvi Shrestha
This talk reports findings from a pilot study of academic listening and speaking skills designed for and delivered through a voice response system powered by Learnosity®. The findings based on students’ experience suggests the possibility of this system as an attractive option in open and distance learning. A number of pedagogical implications based on the findings will be presented.
Empirical Evaluation of Active Learning in Recommender SystemsUniversity of Bergen
The accuracy of collaborative-filtering recommender systems largely depends on three factors: the quality of the rating prediction algorithm, and the quantity and quality of available ratings. While research in the field of recommender systems often concentrates on improving prediction algorithms, even the best algorithms will fail if they are fed poor quality data during training. Active learning aims to remedy this problem by focusing on obtaining better quality data that more aptly reflects a user’s preferences. In attempt to do that, an active learning strategy selects the best items to be presented to the user in order to acquire her ratings and hence improve the output of the RS.
In this seminar, I present a set of active learning strategies with different characteristics and the evaluation results with respect to several evaluation measures (i.e., MAE, NDCG, Precision, Coverage, Recommendation Quality, and, Quantity of the acquired ratings and contextual conditions).
The traditional evaluation of active learning strategies has two major flaws: (1) Performance has been evaluated for each user independently (ignoring system-wide improvements) (2) Active learning strategies have been evaluated in isolation from unsolicited user ratings (natural acquisition). Addressing these flaws, I present that an elicited rating has effects across the system, so a typical user-centric evaluation which ignores any changes of rating prediction of other users also ignores these cumulative effects, which may be more influential on the performance of the system as a whole (system-centric). Hence, I present a novel offline evaluation methodology and use it to evaluate some novel and state of the art rating elicitation strategies.
While the first set of experiments was done offline, the true value of active learning must be evaluated in an online setting. Hence, in the second part of the seminar, I present a novel active learning approach that exploits some additional information of the user (i.e. the user’s personality) to deal with the cold start problem in an up-and-running mobile context-aware RS called STS, that provides users with recommendations for places of interest (POIs). The results of live user studies, have shown that the proposed AL approach significantly increases the quantity of the ratings and contextual conditions acquired from the user as well as the recommendation accuracy.
Empirical studies of adaptive annotation in the educational context have demonstrated that it can help students to acquire knowledge faster, improve learning outcomes, reduce navigational overhead, and encourage non-sequential navigation. Over the last 8 years we have explored a lesser known effect of adaptive annotation – its ability to significantly increase student engagement in working with non-mandatory educational content. In the presence of adaptive link annotation, students tend to access significantly more learning content; they stay with it longer, return to it more often and explore a wider variety of learning resources. This talk will present an overview of our exploration of the addictive links effect in many course-long studies, which we ran in several domains (C, SQL and Java programming), for several types of learning content (quizzes, problems, interactive examples). The first part of the talk will review our exploration of a more traditional knowledge-based personalization approach and the second part will focus on more recent studies of social navigation and open social student modeling
This document provides an overview of performance tasks and classroom activities for online mathematics and English language arts assessments. It defines performance tasks as portions of the test that require students to answer complex, multi-step questions about a topic. Classroom activities are administered separately before performance tasks to familiarize students with relevant topics. The document includes examples of classroom activities and performance task questions in both subjects.
The European Association for Language Testing and Assessment (EALTA) aims to promote understanding of language testing principles and improve testing practices across Europe. EALTA's guidelines provide best practices for those involved in teacher training, classroom assessment, and test development. The guidelines stress respect, responsibility, fairness, reliability, and validity. They also recommend clarifying purposes and ensuring appropriateness, accuracy, feedback, and stakeholder involvement in the assessment process. EALTA encourages engagement with decision makers to enhance quality of assessment systems.
The document outlines the program educational objectives, program outcomes, curriculum, and regulations for the B.Tech Artificial Intelligence and Data Science program at Anna University in Chennai, India. The 4-year program aims to provide students with proficiency in basic sciences, mathematics, AI, data science, and statistics to build data-driven systems. Students will develop technical skills to conduct research in AI and data science and create sustainable solutions. The curriculum covers topics such as data structures, algorithms, machine learning, deep learning, data analytics, and artificial intelligence across 8 semesters with theory, laboratory, and project components.
This document summarizes Zohreh Sharafi's research on the influence of representation type and gender on program comprehension. The research includes several experiments that investigate how representation type (graphical vs. textual) and gender influence developers' efficiency, effectiveness, and viewing strategies during program comprehension tasks. The results show that developers prefer graphical representations and find relevant information faster with graphical representations compared to textual. The experiments also found that men and women use different strategies to select correct answers, with women taking longer but achieving higher accuracy. Further analysis revealed differences in how men and women distribute their visual attention across source code entities during comprehension tasks.
Get Involved Early: A Tester’s Experience with RequirementsTechWell
Although requirements provide valuable information that informs and shapes testing, sometimes the information provided is incomplete or unclear. Join Julie Lebo as she shares her experience with requirements engineering and how she has integrated her testing group into the requirement process. She believes testers are a valuable asset to the requirement process, and their involvement can improve quality in many ways including finding bugs earlier in the lifecycle, gaining a deeper understanding of their project and product, and writing tests that provide more value to the organization. Julie discusses the benefits she has experienced by moving QA to the left—earning higher credibility among her team, gaining more visibility for the testing team with stakeholders and organization, and creating better communication throughout all areas of the project. Leave with the ideas and steps to get your team involved early in the requirements process.
The document discusses computer-based tests (CBT). It defines CBT as assessments taken on a computer that can be standalone or networked. There are two main types of CBT: linear tests that select random questions, and adaptive tests that select questions based on performance. Advantages of CBT include improved accessibility, richer data collection, streamlined administration and scoring processes, and maintained integrity. Disadvantages include an inability to write on screens and computer errors. The document also describes two CBT models: multi-stage tests and computerized adaptive tests.
Part of the internal Codeweavers Development series from our Academy.
Writing Tests are a fundamental part of our development workflow but it's not easy to write them well. This talk dives into this and throws a few spanners in the works from what people traditionally think.
A CAT (computer adaptive test) is an individually tailored test that adapts to each student's ability level. It draws from a large bank of test items on the subject and selects increasingly difficult or easy questions based on whether the student answers correctly or incorrectly. This allows each student to be tested at an appropriate level and receive a customized exam assessing their true knowledge and abilities. The computer portion enables engaging multimedia questions and efficient scoring. A CAT provides more accurate, individualized and secure assessments that deliver fast results.
Using interactive models to enhance UML educationStephen Frezza
Describes a pilot project to utilize flash to create an interactive model of a UML design. This allowed students to investigate the semantic concepts involved in the design, and enhance their learning of UML notations and use.
The document discusses improving testing organizations through adopting the Test Maturity Model Integration (TMMI). It notes that organizations often struggle with issues like poor communication, lack of work standards, and quality problems. The TMMI model provides a structured framework of process areas and practices that can help build an effective testing approach. The case study describes how one organization used TMMI at levels 2-4 to implement tools like Confluence and JIRA, establish a knowledge base, and define requirements, test cases, and reporting processes. Adopting the TMMI model helped solve their challenges and build better quality.
#LearnPAd prototype early validation - feedbacks from end usersAndrea Sergiacomi
The document describes an early validation of the Learn PAd e-learning platform prototype involving end-users from two case studies. Feedback was collected through a quantitative questionnaire and focus group discussion. The focus group provided comments on various topics which were categorized in a spreadsheet. Next steps include refining existing models for the case studies, providing additional recommender content, multimedia learning materials, and description texts. Risks identified from the feedback include a lack of overview information, grouping of models, and ensuring accurate terminology is used.
The document provides information about preparing for the ISTQB Foundation Level Examination. It discusses that ISTQB is an international software testing certification organization. It operates the ISTQB Certified Tester certification which is based on an established syllabus. The syllabus covers 6 chapters on fundamentals of testing, testing throughout the software life cycle, static techniques, test design techniques, test management, and tool support for testing. The exam has 40 multiple choice questions to be completed in 90 minutes, with a passing score of 65% or 26 correct answers. It provides tips for preparation such as allowing enough time, studying the complete syllabus, taking sample tests, and carefully reading questions and answers.
This document discusses computer-based assessment (CBA), also known as computer-based testing. CBA involves administering tests electronically, where responses are recorded and assessed using computers. The document outlines the benefits of CBA, such as flexible administration, enhanced security, and immediate scoring. It also describes different types of tests, including objective and subjective tests, and provides guidelines for developing valid and reliable CBA tests. Key aspects addressed include defining learning objectives, structuring test questions, designing an assessment, and evaluating the validity of the final computerized test.
At Michigan Technological University, faculty implemented competency assessments in two first-year engineering courses to ensure students mastered key skills in technical modeling, programming, and units conversion before advancing. Students took assessments in NX 3D modeling, MATLAB programming, and units conversions, and were allowed repeated attempts until meeting minimum thresholds. Data showed mastery rates increased with additional attempts, though some students struggled with both programming and modeling. Faculties aim was for students to demonstrate competency in skills required for future engineering coursework.
Java parser a fine grained indexing tool and its applicationRoya Hosseini
1) The document discusses an intelligent tutoring system called Knowledge Maximizer (KM) that uses fine-grained modeling of programming concepts to provide personalized exam preparation for students.
2) An evaluation of KM compared to other course tutoring systems found that students using KM attempted more complex questions, had a higher success rate, and achieved greater knowledge gains.
3) An automatic tool called JavaParser was developed to index programming questions by the underlying concepts, achieving over 98% accuracy compared to manual indexing. Future work aims to improve modeling and provide more adaptive support.
A Survey on Software Release Planning Models - Slides for the Presentation @ ...Supersede
Software release planning (SRP) is the problem of selecting which features or requirements will be included in the next release or releases. It is a crucial step in software development, which happens to be extremely complex given the need to reconcile multiple decision making criteria, (e.g., business value, effort and cost), while considering several constraints (e.g., feature precedencies, resource availa-bility). For this reason, several SRP models have been proposed in the literature. The objective of this study is to provide an updated review of SRP approaches reported in the literature.
Innovations in EAP oral assessment: the IOA projectPrithvi Shrestha
This talk reports findings from a pilot study of academic listening and speaking skills designed for and delivered through a voice response system powered by Learnosity®. The findings based on students’ experience suggests the possibility of this system as an attractive option in open and distance learning. A number of pedagogical implications based on the findings will be presented.
Empirical Evaluation of Active Learning in Recommender SystemsUniversity of Bergen
The accuracy of collaborative-filtering recommender systems largely depends on three factors: the quality of the rating prediction algorithm, and the quantity and quality of available ratings. While research in the field of recommender systems often concentrates on improving prediction algorithms, even the best algorithms will fail if they are fed poor quality data during training. Active learning aims to remedy this problem by focusing on obtaining better quality data that more aptly reflects a user’s preferences. In attempt to do that, an active learning strategy selects the best items to be presented to the user in order to acquire her ratings and hence improve the output of the RS.
In this seminar, I present a set of active learning strategies with different characteristics and the evaluation results with respect to several evaluation measures (i.e., MAE, NDCG, Precision, Coverage, Recommendation Quality, and, Quantity of the acquired ratings and contextual conditions).
The traditional evaluation of active learning strategies has two major flaws: (1) Performance has been evaluated for each user independently (ignoring system-wide improvements) (2) Active learning strategies have been evaluated in isolation from unsolicited user ratings (natural acquisition). Addressing these flaws, I present that an elicited rating has effects across the system, so a typical user-centric evaluation which ignores any changes of rating prediction of other users also ignores these cumulative effects, which may be more influential on the performance of the system as a whole (system-centric). Hence, I present a novel offline evaluation methodology and use it to evaluate some novel and state of the art rating elicitation strategies.
While the first set of experiments was done offline, the true value of active learning must be evaluated in an online setting. Hence, in the second part of the seminar, I present a novel active learning approach that exploits some additional information of the user (i.e. the user’s personality) to deal with the cold start problem in an up-and-running mobile context-aware RS called STS, that provides users with recommendations for places of interest (POIs). The results of live user studies, have shown that the proposed AL approach significantly increases the quantity of the ratings and contextual conditions acquired from the user as well as the recommendation accuracy.
Empirical studies of adaptive annotation in the educational context have demonstrated that it can help students to acquire knowledge faster, improve learning outcomes, reduce navigational overhead, and encourage non-sequential navigation. Over the last 8 years we have explored a lesser known effect of adaptive annotation – its ability to significantly increase student engagement in working with non-mandatory educational content. In the presence of adaptive link annotation, students tend to access significantly more learning content; they stay with it longer, return to it more often and explore a wider variety of learning resources. This talk will present an overview of our exploration of the addictive links effect in many course-long studies, which we ran in several domains (C, SQL and Java programming), for several types of learning content (quizzes, problems, interactive examples). The first part of the talk will review our exploration of a more traditional knowledge-based personalization approach and the second part will focus on more recent studies of social navigation and open social student modeling
This document provides an overview of performance tasks and classroom activities for online mathematics and English language arts assessments. It defines performance tasks as portions of the test that require students to answer complex, multi-step questions about a topic. Classroom activities are administered separately before performance tasks to familiarize students with relevant topics. The document includes examples of classroom activities and performance task questions in both subjects.
The European Association for Language Testing and Assessment (EALTA) aims to promote understanding of language testing principles and improve testing practices across Europe. EALTA's guidelines provide best practices for those involved in teacher training, classroom assessment, and test development. The guidelines stress respect, responsibility, fairness, reliability, and validity. They also recommend clarifying purposes and ensuring appropriateness, accuracy, feedback, and stakeholder involvement in the assessment process. EALTA encourages engagement with decision makers to enhance quality of assessment systems.
The document outlines the program educational objectives, program outcomes, curriculum, and regulations for the B.Tech Artificial Intelligence and Data Science program at Anna University in Chennai, India. The 4-year program aims to provide students with proficiency in basic sciences, mathematics, AI, data science, and statistics to build data-driven systems. Students will develop technical skills to conduct research in AI and data science and create sustainable solutions. The curriculum covers topics such as data structures, algorithms, machine learning, deep learning, data analytics, and artificial intelligence across 8 semesters with theory, laboratory, and project components.
This document summarizes Zohreh Sharafi's research on the influence of representation type and gender on program comprehension. The research includes several experiments that investigate how representation type (graphical vs. textual) and gender influence developers' efficiency, effectiveness, and viewing strategies during program comprehension tasks. The results show that developers prefer graphical representations and find relevant information faster with graphical representations compared to textual. The experiments also found that men and women use different strategies to select correct answers, with women taking longer but achieving higher accuracy. Further analysis revealed differences in how men and women distribute their visual attention across source code entities during comprehension tasks.
Get Involved Early: A Tester’s Experience with RequirementsTechWell
Although requirements provide valuable information that informs and shapes testing, sometimes the information provided is incomplete or unclear. Join Julie Lebo as she shares her experience with requirements engineering and how she has integrated her testing group into the requirement process. She believes testers are a valuable asset to the requirement process, and their involvement can improve quality in many ways including finding bugs earlier in the lifecycle, gaining a deeper understanding of their project and product, and writing tests that provide more value to the organization. Julie discusses the benefits she has experienced by moving QA to the left—earning higher credibility among her team, gaining more visibility for the testing team with stakeholders and organization, and creating better communication throughout all areas of the project. Leave with the ideas and steps to get your team involved early in the requirements process.
The document discusses computer-based tests (CBT). It defines CBT as assessments taken on a computer that can be standalone or networked. There are two main types of CBT: linear tests that select random questions, and adaptive tests that select questions based on performance. Advantages of CBT include improved accessibility, richer data collection, streamlined administration and scoring processes, and maintained integrity. Disadvantages include an inability to write on screens and computer errors. The document also describes two CBT models: multi-stage tests and computerized adaptive tests.
Part of the internal Codeweavers Development series from our Academy.
Writing Tests are a fundamental part of our development workflow but it's not easy to write them well. This talk dives into this and throws a few spanners in the works from what people traditionally think.
Machine learning: A Walk Through School ExamsRamsha Ijaz
When it comes to studying, Machines and Students have one thing in common: Examinations. To perform well on their final evaluations, humans require taking classes, reading books and solving practice quizzes. Similarly, machines need artificial intelligence to memorize data, infer feature correlations, and pass validation standards in order to solve almost any problem. In this quick introductory session, we'll walk through these analogies to learn the core concepts behind Machine Learning, and why it works so well!
The 't' in tel software development for tel research problems, pitfalls, and ...Roland Klemke
At the core of TEL research are artefacts of digital technology, their design, implementation, application, and evaluation. Usually, these artefacts aim to fulfil a specific educational purpose and need to satisfy a number of requirements with respect to functionality, usability, scalability, or interoperability.
Software engineering is the discipline that structures, organises, and documents all aspects of the software development process in manageable steps. It explains all relevant stakeholder roles involved in the process and defines process models to handle the complexity of the software development process.
In research oriented projects, software engineering goals and research goals often collide: Software engineering strives to provide a fully fledged system with a complete set of functionality and a broad coverage of use cases. Research aims for evaluating testable hypotheses based on specific aspects of a system. This leads to the problem that the complexity of the design steps, complexity of the derived/developed solution contradicts easy to measure results. Furthermore, project contexts and research contexts often collide, leading to the question how to develop technology that fulfills development needs and research needs.
The lecture looks at typical situations, which occur in technology-oriented research projects and tries to show approaches to handle the inherent complexity within these.
References
Tchounikine, P.: Computer Science and Educational Software Design. Springer Berlin Heidelberg, Berlin, Heidelberg (2011).
Goodyear, P., Retalis, S.: Technology-enhanced learning Design Patterns and Pattern Languages. Sense Publishers (2010).
Mor, Y., Winters, N.: Design approaches in technology-enhanced learning. Interact. Learn. Environ. 15, 61–75 (2007).
Bjork, S., Holopainen, J.: Patterns in Game Design (Game Development Series). Charles River Media (2004).
Calvo, R.A., Turani, A.: E - learning Frameworks = ( Design Patterns + Software Components ). In (Goodyear & Retalis, 2010).
Wang, F., Hannafin, M.J.: Design-Based Research and Technology-Enhanced Learning Environments. Source Educ. Technol. Res. Dev. 53, 5–23 (2005).
Kirkwood, A., Price, L.: Technology-enhanced learning and teaching in higher education: what is “enhanced” and how do we know? A critical literature review. Learn. Media Technol. 39, 6–36 (2014).
Ross, S.M., Morrison, G.R., Lowther, D.L.: Educational Technology Research Past and Present: Balancing Rigor and Relevance to Impact School Learning. Contemp. Educ. Technol. 1, 17–35 (2010).
This slide deck was used for a presentation at CloudBound K12 which took place in March 2016 in New Jersey. This presentation is titled "Don't Just Check the Box". It focuses on technology-enhanced items and their role in the everyday classroom.
CloudBound K12 connects New Jersey's best innovators, ideas and technology.
Learn more at: www.learnosity.com/tour
Organization strategies to increase development productivityAaron Grant
Organization Strategies to Increase Development Productivity discusses how to increase productivity through a student worker program. It outlines how the speaker's team at Oakland University hired and trained student workers to take on development work. Key aspects included identifying mentors, varying work tasks, setting expectations, and involving students in open source contributions. When implemented well, the student program provides hands-on learning opportunities for students and additional development capacity for the organization. One student speaker discussed his positive experience in the program, where he gained real-world skills while having a flexible work schedule around his classes.
Workplace Simulated Courses - Course Technology Computing Conference
Presenter: Angie Rudd & Kelly Hinson, Gaston College
What do our students need to learn to be productive in the workplace, to get a job, what skills do they need? The workplace has changed, leadership has changed, and the future is collaboration. This presentation will discuss the methods and tools used in two online project classes. We will show you how we take our learning outcomes and design online classes to simulate a workplace environment. These courses are designed to give students the most realistic workplace environment that we can in an academic setting. One course teaches Emerging Technologies by using teamwork and collaboration environments. The other course uses the System Development Lifecycle as a guide for students to complete an individual project with feedback and brainstorming from other students. The goals for the session are: demonstrating and discussing collaboration, showing how to include useful teamwork in an online environment, working as a collective team, sharing information and knowledge, encouraging suggestions and ideas, brainstorming, building in frustration on purpose, using peer feedback in projects, enabling team resources, and embracing roles and responsibilities. Attendees will walk away with a template of how to design a course for a workplace environment while meeting the learning objectives of the course.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.it/.
http://www.ivanomalavolta.com
Organizing Your First Website Usability Test - WordCamp Toronto 2016Anthony D. Paul
You’ve built a shiny, new WordPress site. You asked your co-worker and your boss if they like it and they both do. However, you’re lying awake at night wondering if you’re missing something—because you know you’re not the end user. You yearn for actionable feedback. In this talk, I’ll distill my background in usability research into a how-to framework for taking your site and conducting your first unmoderated usability test. I’ll cover why and when you should be running usability tests; how to set research goals and draft a script for them; setting up your lab environment and capturing feedback; and best practices for facilitation, minimizing bias, keeping users on task and gleaning the most from each brief test.
This document defines and discusses different types of educational software: drill-and-practice, tutorials, simulations, instructional games, and problem-solving software. It provides examples of each type, along with their benefits and limitations. Guidelines are suggested for effective use of each type in the classroom to support learning.
This document outlines a workshop on assessment and feedback approaches. It discusses challenges with current assessment practices, such as an over-reliance on summative assessments and a lack of formative feedback. It then presents the TESTA (Transforming the Experience of Students Through Assessment) approach, which aims to address these issues by taking a whole-program approach to balancing summative and low-stakes formative assessments and improving feedback practices. The workshop involves examining assessment data, discussing challenges, and learning TESTA principles for improving assessment design and student experience.
The document summarizes an advanced agile testing workshop hosted by Lisa Crispin. The workshop aims to be collaborative and help attendees solve testing problems through experiments and discussions on topics like impact mapping, testing quadrants, skills development, tool selection, technical debt, and test automation. Attendees will identify their biggest testing challenges, prioritize them, and brainstorm experiments to address high priority problems through techniques like impact mapping and story mapping. The workshop provides resources and examples to facilitate these discussions.
The document proposes a model to provide automated feedback to students on their software tests to improve quality. It aims to encourage students to reflect on their own code and write effective tests, rather than relying on others to find bugs. The model would analyze test results and coverage to identify untested functions and give targeted feedback. A future study is planned to evaluate how feedback impacts test quality over multiple assignment submissions. The goal is to help students independently problem solve through self-evaluation of their tests.
This document summarizes a systematic review of empirical evaluations of regression test selection techniques. It identifies 32 techniques that have been evaluated in 38 studies covering 28 papers. The techniques can be classified based on their input, whether they are safe or unsafe, and the type of code or programming paradigm. However, the empirical evidence for differences between techniques is limited, with half of experiments conducted on small programs and few large-scale evaluations. As a result, there is no clear basis for determining a superior technique based on research alone. Future work should aim to better define regression test selection techniques, encourage replications, and standardize reporting of study contexts.
How Indeed asks coding interview questionsFangda Wang
Coding interviews (aka. whiteboard interviews, or programming interviews) are the primary tools used by Indeed and major tech companies (e.g. Google, Amazon, Facebook) to measure technical skills for potential employees. There are a lot of articles and talks to help interviewees prepare and perform well on the coding interview. However, not many of them share insight into how employers conduct coding interviews and their challenges.
This talk is mainly for companies/managers who want to improve their hiring, or persons who are inspired to be a good interviewers. Wanasit will share his insight on how Indeed (and other tech companies) designed their interviewing processes and trains interviewers, including their principles and challenges.
For the interviewees or students, this talk helps you understand the interviewer-side perspective, thus, helps you prepare for the next interviews. It also includes a few uncommon interviewing tips at the end.
1How to Perform ExperimentsBasic Concepts CSCI .docxdrennanmicah
1
How to Perform Experiments:
Basic Concepts
CSCI 783: Empirical Software Engineering
2
Empirical Software Engineering: How to use empirical research in software engineering?
Repetition of empirical studies is necessary!
Definition
Planning and Design
Execution
Analysis
Packaging
Definition: Determine study goal(s)
Design: and research hypothesis(es). Select type of empirical study to be employed Operationalize study goal(s) and hypotheses. Make study plan: what needs to be done by whom and when. Prepare material required to conduct the study
Execution: Run study according to plan and collect required data
Analysis: Analyze collected data to answer operationalized study goals and hypotheses
Packaging: Report your studies
3
Empiricism in Software Engineering
Confirmation
Evaluation
Identification
Validation
Understanding
Guidance / Control
Of more or less accepted hypotheses:
For example: object-orientation is good for reuse
Of Methods:
For example: Whether Java produces higher quality code than C++
Of Relationships:
For example: Find a relationship between fault prone components and design concepts
Of Models and Measures:
For example: Validate a specific cost estimate model
Of Methods, Techniques and Models:
For example: To understand the relationship between inspections and testing
to help in Management:
For example: as input to personnel to software inspections
To support Decision- Making with respect to Changes:
For example: Whether or not to introduce a new development tool
C
Change / Improve
Experimentation in software engineering
4
Experiment Objective
Cause
Construct
Effect
Construct
Cause-effect
Construct
Theory
Treatment
Outcome
Treatment - Outcome
Construct
Observation
Experiment Operation
Independent variable
Dependent variable
5
What is Empirical Software Engineering Research
What kinds of questions are "interesting"?
What kinds of results help to answer these questions, and what research methods can produce these results?
What kinds of evidence can demonstrate the validity of a result, and how to distinguish good results from bad ones?
6
Types of Research Questions
What kinds of questions are "interesting"?
Types of Research Questions
Method or means of development
Method for analysis
Design, evaluation, or analysis of a particular instance
Generalization or characterization
Feasibility
How can we do/create (or automate doing) X?
What is a better way to do/create X?
How can I evaluate the quality/correctness of X?
How do I choose between X and Y?
What is a (better) design or implementation for application X?
What is property X of artifact/method Y?
How does X compare to Y?
What is the current state of X / practice of Y?
Given X, what will Y (necessarily) be?
What, exactly, do we mean by X?
What are the important characteristics of X?
What is a good formal/empirical model for X?
What are the varieties of X, how are they related?
Is it possible to accomplis.
Organizing Your First Website Usability Test - WordCamp Lancaster 2016Anthony D. Paul
You’ve built a shiny, new WordPress site. You asked your grandma and your client if they like it and they both do. However, you’re lying awake at night wondering if you’re missing something—because you know you’re not the end user. You yearn for actionable feedback.
In this talk, I’ll distill my background in usability research into a how-to framework for taking your site and conducting your first moderated usability test. I’ll cover what to look for, best practices in facilitation, tools on the cheap, and how to glean the most from a brief window of time.
Similar to Pragmatic software testing education - SIGCSE 2019 (20)
Can ML help software developers? (TEQnation 2022)Maurício Aniche
We all have heard of the amazing things Machine Learning can do. It can drive cars, it can detect whether people are using safe equipments, it can play games. But... can it help software developers in, say, find bugs or refactor code?
In this talk, I'll go through the different research projects I was involved in the area. I'll show that machine learning models can, in fact, learn a lot about how we develop software, and recommend interesting things to developers. In particular, I'll talk about models that recommend refactoring (done together with ING), models that find bugs and models that recommend which methods to log (both done together with Adyen).
You don't need to be an expert in machine learning to follow this talk.
Software Testing with Caipirinhas and StroopwafelsMaurício Aniche
In this presentation, I talk about different ways of testing your software that go beyond testing. Log analytics and DevOps, static analysis tools, automated test generation, mistakes in web API integration, and challenges in software testing education.
I gave this talk to several Brazilian companies in December/2017.
Code smells in MVC applications (Dutch Spring meetup)Maurício Aniche
The document discusses code smells that are specific to Model-View-Controller (MVC) architecture. It identifies several smells including Promiscuous Controller, Brain Controller, Meddling Service, Brain Repository, and Fat Repository. The document then discusses strategies for detecting these smells and benchmarks results for detecting smells in controllers. It also discusses challenges in measuring code attributes and finding the right place for data access objects and database queries.
This document discusses code quality in MVC systems and strategies for improvement. It describes analyzing 60k-110k lines of Java code to measure metrics like coupling and benchmarking controllers. The document outlines a catalogue of specific smells in MVC architectures and validated research on improperly placed database queries and data access object methods. It proposes moving queries to the correct place and improving test code stability with patterns to reduce rewriting.
A Validated Set of Smells for MVC Architectures - ICSME 2016Maurício Aniche
This document presents research into identifying code smells that are specific to Model-View-Controller (MVC) architectures. Through interviews and surveys with 50 developers, the researchers identified 6 smells related to common problems in MVC controller, service, and repository classes. An empirical study found that classes affected by these smells tended to be more change- and defect-prone, and developers perceived classes with these smells as problematic. The researchers validated a catalogue of 6 MVC-specific code smells.
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...Maurício Aniche
1. The document presents a technique called SATT (Software Architecture-based Threshold Tailoring) that tailors code metric thresholds to different software architectures.
2. SATT works by ordering classes by their metric values, weighting them based on their size, aggregating the weights to extract thresholds at certain points, and defining thresholds specific to architectural roles whose metrics differ significantly from other classes.
3. The study applies SATT to projects using common architectures like MVC and finds that architectural roles do have significantly different metric value distributions compared to other classes, which can be explained by their specialized responsibilities. SATT improves over benchmark-based techniques by setting role-specific thresholds.
DNAD 2015 - Métricas de código, pra que te quero?Maurício Aniche
O documento discute métricas de código e como elas podem ser usadas para melhorar a qualidade do código e identificar problemas. Ele menciona métricas como tamanho de métodos e classes, complexidade ciclomática, coesão e acoplamento. Também discute visualizações de código e como métricas podem ser correlacionadas com bugs e manutenção do código.
Como eu aprendi que testar software é importante?Maurício Aniche
O documento discute a importância de testes de software, relatando a experiência do autor. Ele aprendeu sobre testes ao longo de sua carreira na faculdade e em várias empresas, onde testes automatizados ajudaram a evitar problemas. O autor também fornece dicas valiosas sobre estudos e carreira para desenvolvedores de software.
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações WebMaurício Aniche
Proposta de pesquisa apresentada no encontro do NAPSoL em São Carlos, 2014: Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
O documento discute as vantagens e desafios da prática de Test-Driven Development (TDD). A prática de TDD pode melhorar a qualidade do código e do projeto de classes, mas não garante esses resultados automaticamente. Os desenvolvedores precisam estar atentos aos feedbacks dos testes para refatorar o código continuamente e melhorar o projeto.
O que estamos temos feito com mineração de repositório de código no IME?Maurício Aniche
O documento discute mineração de repositórios de código. Apresenta o grupo de pesquisa e seus interesses em aspectos sociais de código aberto, dependências lógicas, dívida técnica e ferramentas usadas como script R, metricminer e medidas de qualidade de código. Também discute desafios da área como falta de organização de dados e dificuldade em demonstrar valor para a indústria.
MetricMiner is a web application that aims to support researchers in mining software repositories by automating common tasks like downloading source code, extracting metrics, and performing calculations. It was created to make the process easier and potentially leverage cloud computing. The developers validated the tool by replicating a previous study with MetricMiner accessing over 250 projects and 500,000 commits, compared to the original study of 1 project and 800 commits. Future work includes improving the interface, scalability, and collecting more data.
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study - W...Maurício Aniche
Este estudo investigou se a refatoração de código realmente simplifica o código, medindo a complexidade ciclomática antes e depois das refatorações. A análise de 500 mil commits de 256 projetos Java mostrou que a refatoração nem sempre reduz a complexidade ciclomática. Uma análise qualitativa indicou que as refatorações melhoram principalmente a legibilidade do código.
[TDC 2014] Métricas de código, pra que te quero?Maurício Aniche
O documento discute a importância de métricas de código e como elas podem ser usadas para melhorar a qualidade do software e do processo de desenvolvimento. Algumas métricas mencionadas incluem tamanho de métodos e classes, complexidade ciclomática, coesão, acoplamento e estabilidade. As métricas fornecem insights sobre onde focar os esforços de refatoração e melhoria contínua.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Physiology and chemistry of skin and pigmentation, hairs, scalp, lips and nail, Cleansing cream, Lotions, Face powders, Face packs, Lipsticks, Bath products, soaps and baby product,
Preparation and standardization of the following : Tonic, Bleaches, Dentifrices and Mouth washes & Tooth Pastes, Cosmetics for Nails.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...PECB
Denis is a dynamic and results-driven Chief Information Officer (CIO) with a distinguished career spanning information systems analysis and technical project management. With a proven track record of spearheading the design and delivery of cutting-edge Information Management solutions, he has consistently elevated business operations, streamlined reporting functions, and maximized process efficiency.
Certified as an ISO/IEC 27001: Information Security Management Systems (ISMS) Lead Implementer, Data Protection Officer, and Cyber Risks Analyst, Denis brings a heightened focus on data security, privacy, and cyber resilience to every endeavor.
His expertise extends across a diverse spectrum of reporting, database, and web development applications, underpinned by an exceptional grasp of data storage and virtualization technologies. His proficiency in application testing, database administration, and data cleansing ensures seamless execution of complex projects.
What sets Denis apart is his comprehensive understanding of Business and Systems Analysis technologies, honed through involvement in all phases of the Software Development Lifecycle (SDLC). From meticulous requirements gathering to precise analysis, innovative design, rigorous development, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: May 29, 2024
Tags: Information Security, ISO/IEC 27001, ISO/IEC 42001, Artificial Intelligence, GDPR
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 27001 Information Security Management System - EN | PECB
ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
General Data Protection Regulation (GDPR) - Training Courses - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
For more information about PECB:
Website: https://pecb.com/
LinkedIn: https://www.linkedin.com/company/pecb/
Facebook: https://www.facebook.com/PECBInternational/
Slideshare: http://www.slideshare.net/PECBCERTIFICATION
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
How to Build a Module in Odoo 17 Using the Scaffold MethodCeline George
Odoo provides an option for creating a module by using a single line command. By using this command the user can make a whole structure of a module. It is very easy for a beginner to make a module. There is no need to make each file manually. This slide will show how to create a module using the scaffold method.
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
Thinking of getting a dog? Be aware that breeds like Pit Bulls, Rottweilers, and German Shepherds can be loyal and dangerous. Proper training and socialization are crucial to preventing aggressive behaviors. Ensure safety by understanding their needs and always supervising interactions. Stay safe, and enjoy your furry friends!
This presentation includes basic of PCOS their pathology and treatment and also Ayurveda correlation of PCOS and Ayurvedic line of treatment mentioned in classics.
2. Why software testing?
● Because society needs software that
works!
● Fundamental activity in software
development.
● Academic perspective: several open
challenges.
● Industry perspective: "Very popular"
nowadays, companies want developers
who know how to test.
3. Teach software testing can be tricky
● ST is an elective course in many
universities (Wong, 2012)
● Little attention is given to ST, given
the large number of topics already
covered (Clarke et al., 2014)
● Lack of educational tools and
integration with other courses.
● A clear curriculum (topic of today)
4. Worlds Apart
● Developers and academia talk
about different things when it
comes to software testing.
● Example: the term "automated
software testing".
Garousi, Vahid, and Michael Felderer. "Worlds apart: industrial and
academic focus areas in software testing." IEEE Software 34.5 (2017):
38-45.
5. Academics
● The oracle problem
● Test case generation
● Search-based software testing
● Model-based software testing
Developers
● xUnit frameworks
● The Testing Pyramid
● Mocking
● What to test? What not to test?
(This list was not developed in a systematic way)
How to combine both perspectives?
6. Pragmatic software testing @ TU Delft
● 4th quarter, 1st year CS
○ The real main requirement is to
know Java
● 5 ECTS (140 hours)
○ 2 lectures of 1.5h/week
○ 4 hours of labwork/week
● Large number of students
○ In 2017, 300 students.
○ In 2018, 450 students.
○ In 2019, ~750 students (expected)
● Assessment:
○ Midterm + exam (MC questions) 75%
○ Labwork 25%
7. 9 key elements!
● Theory applied in the lecture.
● Real-world pragmatic discussions.
● Build a testing mindset.
● Software testing automation.
● A hands-on labwork.
● Test code quality matters.
● Design systems for testability.
● Mixture of pragmatic and theoretical books
● Interaction with practitioners.
8. Applied theory
● We believe in theory. But we prefer applied
theory.
● Whatever theory we show to them, we also
show to apply it in practice, e.g.,
○ We devise tests for a state machine, and later write
them as JUnit tests.
○ We devise tests for complex decision tables, and later
we write them as JUnit tests.
● Important: the theory and the practice happen
during our lecture.
○ Students see us coding.
9. Pragmatic discussions
● Software testing is challenging, and
exhaustive testing is impossible. In practice,
developers have to make trade-offs.
● We discuss such real-life trade-offs:
○ How much should I test?
○ Should this piece of code be tested at unit or
integration level?
○ Should I mock this class?
10. Building a testing mindset
● Students might not see testing as
"something cool".
● We want them to have a testing mindset.
How?
○ Showing that testing is a creative activity
○ Showing how to apply it in practice
○ Bringing guest lectures who discuss the importance
of software testing
11. Software testing automation
● Industry has been long advocating the use of
test automation.
● Our students:
○ Devise tests using theoretical knowledge (e.g., they
devise test cases in a piece of paper)
○ They later write the tests in an automated manner.
● To that aim, students need to learn tools:
○ Junit
○ Mockito
○ Selenium / Cucumber
12. Hands-on labwork
● We consider getting your hands dirty highly
important when learning software testing.
● Students apply all their knowledge in
JPacman.
○ 3k lines of code
○ Devised specially for this course
○ Enables them to practice the different techniques
we teach.
● Open source:
https://github.com/serg-delft/jpacman-framework
(we are still working on a Teachers' Guide. If you want to use it now,
just email us)
13. Test code quality matters
● Real life developers have to deal with large
test codebases.
○ Empirical research shows that test smells are
common...
● Code quality matters.
● Our TAs are trained to be picky!
14. Design for testability
● Software architecture meets software
testing.
● More specifically, we discuss how to design
systems that ease testability, e.g.,
○ How can I test my application when it depends on a
database?
○ How can I test my mobile app if it depends so much
on the Android's APIs, which are unmockable?
● JPacman is a good example of a testable
system.
15. Theoretical and practical books
● We consider both the theoretical and the
pragmatic part important.
● Thus, we suggest different books for these
two different aspects.
○ Theory: ISTQB
○ Practice: Pragmatic Unit Testing in Java 8.
16. Interaction with practitioners
● Guest lectures are fundamental for students.
● Maybe not for them to learn any new
practice, but for them to see how trade-offs
happen in practice.
● We have tried online AMA sessions.
17. We were curious...
● RQ1: What common mistakes do students
make when learning software testing?
● RQ2: Which software testing topics do
students ind hardest to learn?
● RQ3: Which teaching methods do students
find most helpful?
Research methodology:
● Survey with 84 students.
● Survey with 10 TAs.
● Analysis of ~2k feedback statements from
our TAs to students.
18. Their common mistakes
● Test coverage (416 times, 20.87%).
○ Students commonly either miss tests, i.e., they do not provide all the expected tests for a given piece
of code, or they write tests that are not totally correct, e.g., the test does not actually test the piece
of code.
● Maintainability of test code (407 times, 20.42%).
○ Better naming and excessive complexity, code duplication and lack of reusability, tests that could be
split in two, better usage of test cleanup features, such as JUnit’s Before and After.
● Understanding testing concepts (306 times, 15.35%).
○ Advantages and disadvantages of unit and system tests, and the importance of removing test
smells.
● Boundary testing (258 times, 12.95%).
○ Students miss some of the boundaries.
19. Their common mistakes
● State-based testing (247 times, 12.39%)
○ students often miss or create wrong states or events (56) and transitions (72).
● Assertions (158 times, 7.93%)
○ Missing assertions.
● Mock Objects (117 times, 5.87%)
○ how to properly verify interactions with mock objects (i.e., Mockito’s ‘verify’ method) and to explain
when one should mock an object.
● Tools (84 times, 4.21%).
○ AssertJ and Cucumber can be tricky to use.
21. Topics hard to learn
Using the JUnit framework (Q1) as
well as to think about the
Act-Arrange-Assert pattern that
composes any unit test (Q2) easy to
learn.
(Matches the number of feedback
related to tools in previous RQ)
22. Topics hard to learn
MC/DC is not an easy coverage
criteria. However, structural testing
in general was considered a
somewhat easy topic.
23. Topics hard to learn
Pragmatism (choose the right test
level, how much to test + minimum
set of tests that gives confidence) is
not easy to learn.
24. Topics hard to learn
Students think Mock Objects are an
easy topic.
However, when it comes to best
practice, although students overall
perceive it as easy, TAs disagree.
This also contradicts data in RQ1.
26. Favourite learning methods
They enjoy guest lectures.
However, they did not enjoy AMA
as much as we'd have hoped.
We conjecture it's due to their lack
of experience, i.e., it's hard for
them to come up with questions
for practitioners.
28. Where we are now?
● Better balance between formative and
summative assessments.
● Scalability issues in assessment:
○ Try self-assessment.
○ MC questions are not my favorite option.
● Increase the testing challenges in JPacman
● Write lecture notes (open book)
31. Photos in this presentation
● Photo by Houcine Ncib: https://unsplash.com/photos/jEYwJ4MYcAM
● Photo by Michał Parzuchowski: https://unsplash.com/photos/geNNFqfvw48
● Photo by 贝莉儿 NG: https://unsplash.com/photos/kWvsIYwUkJs
● Photo by Liam Welch: https://unsplash.com/photos/mVS69QbE4H4
● Photo by adrian: https://unsplash.com/photos/yocwPcXJe9c
● Photo by Dane Deaner: https://unsplash.com/photos/JNpmCYZID68
● Photo by John Doyle: https://unsplash.com/photos/RSgwLqIWH8w
● Photo by Markus Spiske: https://unsplash.com/photos/tGcCXy5bfzQ
● Photo by Elisa Michelet: https://unsplash.com/photos/b4EsL48DIK0
● Photo by Jon Tyson: https://unsplash.com/photos/TBtsrLYebSU
● Photo by Damir Bosnjak: https://unsplash.com/photos/W5qJExlQTGI