As part of your assessments for CS205 Integrated Studio, you will be required to complete a research proposal. This topic aims to provide you with an overview of the requirements for the development of this proposal.
Overview of a Research Proposal
A research proposal is a document that outlines the plan and methodology for conducting a research project. It serves as a blueprint for your research, providing a clear and concise description of the objectives, methods, and anticipated outcomes. While you may feel this is only applicable in the context of education, you may be surprised to learn that in the field of Information Technology, you will likely need to complete them as part of your professional career. Let’s take a look at some examples of when you may be required to complete these in the real world:
- Industry Research and Development (R&D): If you are working in a company or organization that focuses on technological innovation, you might be required to write a research proposal to secure funding or resources for a new research and development project. The proposal would outline the objectives, methodology, expected outcomes, and potential impact of the project.
- Grant Applications: In the field of IT, there are often grant programs available from government agencies, foundations, or private organizations that fund research projects. M. When applying for a grant, you would need to write a research proposal to present your project idea, its significance, methodology, and expected outcomes to convince the grant provider to fund your research.
- Technology Adoption or Implementation: If you are proposing the adoption or implementation of a new technology or IT system within your organization, writing a research proposal can help justify the decision and secure the necessary resources. The proposal would outline the research you have conducted on the technology, its benefits, potential challenges, implementation plan, and expected outcomes.
- Solution Development: When tasked with developing a new software, application, or IT solution to address a specific problem or meet certain requirements, a research proposal can be used to outline the project plan, methodology, expected deliverables, and timeline. This proposal would help stakeholders understand the rationale behind the solution and ensure alignment with organizational goals.
- Feasibility Studies: Before undertaking a major IT project, it's often beneficial to conduct a feasibility study to assess the viability and potential risks. Writing a research proposal for a feasibility study would involve outlining the objectives, research questions, methodology, expected outcomes, and potential impact of the study.
So now we have covered what a Research Proposal is and when it will be used, let's first look at the standard structure of a Research Proposal and an example for each point of the structure.
A well-structured research proposal is a fundamental document that outlines the plan and methodology for conducting a research project. It serves as a roadmap, providing a clear and concise description of the objectives, methods, and anticipated outcomes. To effectively communicate the value and feasibility of your research, it is essential to understand and follow a logical structure.
The structure of a research proposal typically consists of several key sections that collectively form a comprehensive and coherent document. Let's look at the standard structure of a research proposal and an example of each.
Title and Abstract
The title should be concise, informative, and reflect the essence of your research. The abstract provides a summary of the proposal, highlighting the research problem, objectives, and methodology.
Example of a Title and Abstract
Title:
Enhancing User Experience and Performance in Mobile Application Development through Automated Testing Techniques
Abstract:
This research proposal aims to investigate and develop automated testing techniques to enhance user experience and performance in mobile application development. The proposal outlines the research objectives, methodology, expected outcomes, and potential impact of the study. By improving the efficiency and effectiveness of software testing in mobile app development, this research has the potential to significantly enhance user satisfaction and overall app performance.
Literature Review
Conduct a comprehensive review of existing literature and research related to your topic. Identify the knowledge gaps or unresolved issues that your research aims to address. Demonstrate your understanding of the current state of knowledge and highlight the relevance of your proposed research. We will explore this in detail in the subtopic ‘11.4.2 Conducting a Literature Review’.
Example of Literature Review
Literature Review:
A comprehensive review of existing literature will be conducted to identify the current state of automated testing techniques in mobile app development. This review will focus on the benefits, limitations, and best practices associated with different automated testing approaches, such as functional testing, performance testing, and usability testing. By synthesizing and analysing the literature, this research will identify gaps and opportunities for further exploration.
Research Questions, Objectives and Hypotheses
Clearly state the specific objectives of your research. Formulate research questions or hypotheses that align with your objectives. Ensure that your objectives and questions/hypotheses are realistic and measurable.
Example of Research Questions
Research Questions
The primary objective of this research is to develop and evaluate automated testing techniques that can effectively enhance user experience and performance in mobile application development. The following research questions will guide the investigation:
- How can automated testing techniques be applied to enhance the user experience of mobile applications?
- What automated testing approaches can improve the performance and responsiveness of mobile apps?
- How do automated testing techniques impact the overall development process and time-to-market?
Product Concept
This is a simple summary of the product concept and a brief overview of the features provided by the product you are proposing. Answer questions about the product like:
- Product rationale
- Proposed features
- The programming framework/technology selected
Example of Product Concept
The purpose of this product concept is to develop an automated testing framework specifically designed for mobile applications. The rationale behind this product is to enhance the user experience, improve performance, and streamline the development process of mobile apps through efficient and reliable automated testing. With the increasing demand for high-quality mobile applications, it is crucial to ensure optimal user experience and performance while minimizing manual testing efforts. By providing a robust automated testing solution, developers can save time, reduce errors, and deliver high-quality mobile apps to end-users.
Proposed Features:
- Test Case Generation: The framework will offer automated test case generation capabilities based on predefined templates and user-defined criteria. It will streamline the process of creating test cases for various scenarios and screen interactions in mobile applications.
- Cross-Platform Compatibility: The framework will support multiple mobile platforms, including Android and iOS, allowing developers to conduct automated tests across different devices and operating systems.
- UI Testing: The product will provide functionalities for automating user interface (UI) testing, allowing developers to simulate user interactions, validate UI elements, and perform usability testing efficiently.
- Performance Testing: The framework will include performance testing capabilities to measure and analyze the responsiveness, load handling, and resource utilization of mobile applications. It will enable developers to identify performance bottlenecks and optimize the app's speed and efficiency.
- Integration with Continuous Integration/Continuous Deployment (CI/CD): The framework will seamlessly integrate with CI/CD pipelines, enabling automated testing as part of the development and release process. It will support integration with popular CI/CD tools such as Jenkins or GitLab CI.
- Reporting and Analysis: The product will generate comprehensive test reports and analytics, providing detailed insights into test results, including test coverage, pass/fail rates, and performance metrics. This will facilitate efficient bug tracking, debugging, and decision-making.
Programming Framework/Technology Selected:
To develop the automated testing framework, we propose leveraging the following programming framework and technologies:
- Programming Language: The framework will be developed using a versatile and widely adopted programming language such as Python or Java, known for its extensive libraries, community support, and cross-platform capabilities.
- Testing Framework: To facilitate test automation, a popular testing framework such as Appium or Espresso will be employed. These frameworks offer features and APIs specifically designed for mobile app testing and provide support for both Android and iOS platforms.
- Device and Emulator Management: For managing devices and emulators during testing, technologies like Android Debug Bridge (ADB) and Xcode Command Line Tools will be utilized. These tools provide command-line interfaces for controlling and interacting with physical devices and emulators.
- Reporting and Analytics: To generate comprehensive test reports and analytics, tools like Allure or Extent Reports can be integrated into the framework. These tools offer customizable reporting features, graphical representations, and detailed insights into test results.
By incorporating the proposed features and utilizing the selected programming framework and technologies, the automated testing framework will empower developers to enhance user experience, improve performance, and streamline the development process of mobile applications. It will provide a reliable and efficient solution for automating testing tasks, enabling developers to deliver high-quality mobile apps with confidence.
Production Plan
A production plan provides a high-level overview of the key activities, timelines, resources, and deliverables involved in the production of a product or the execution of a project. It outlines the major phases and tasks required to complete the project, guiding the team and stakeholders throughout the production process.
Example of Production Plan
Project Duration: 12 months
Project Methodology: Agile (Scrum)
Agile Scrum was selected as the project methodology for the automated testing framework for mobile applications for several reasons:
- Flexibility and Adaptability
- Iterative and Incremental Development
- Collaboration and Communication
- Continuous Improvement and Adaptation
- Stakeholder Involvement
Considering these factors, Agile Scrum was chosen as the project methodology for the development of the automated testing framework to provide flexibility, adaptability, and close collaboration throughout the development process. It allows the team to deliver incremental value, incorporate feedback effectively, and continuously improve the framework to meet the evolving requirements and expectations of its stakeholders.
Project Phases and Work Breakdown Structure (WBS):
- Phase 1: Project Initiation
- Define project objectives and scope
- Identify stakeholders and establish communication channels
- Create the product vision and backlog
- Phase 2: Requirements Gathering and Analysis
- Conduct user interviews and gather requirements
- Define user personas and create use case diagrams
- Analyze existing testing frameworks and tools
- Phase 3: Design and Architecture
- Develop UML sequence diagrams to illustrate the interaction between system components
- Create digital Lo-Fi wireframes/mock-ups of the proposed UI
- Define the architecture and components of the testing framework
- Phase 4: Development and Testing
- Implement the core functionalities of the automated testing framework
- Conduct continuous integration and unit testing
- Conduct usability testing of the Lo-Fi wireframes with at least five users
- Phase 5: Integration and Refinement
- Integrate the testing framework with CI/CD pipelines
- Refine and optimize the framework based on user feedback and test results
- Conduct system testing and performance testing
- Phase 6: Documentation and Deployment
- Prepare user documentation and guidelines for the automated testing framework
- Create technical documentation for developers and maintainers
- Deploy the framework to a production environment
Milestones, Dependencies, and Deliverables
Proposed Roles:
- Product Owner: Amit Singh, responsible for defining and prioritizing product backlog items, providing input on requirements, and representing the stakeholders.
- Scrum Master: Gurav Chowdri, facilitates the Scrum process, removes obstacles, and ensures the team adheres to Agile principles and practices.
- Development Team: Samatha Lowe, Sean Li and Michael O'Brien are the developers responsible for implementing the testing framework and delivering the product increments.
Project Management Tools:
- Scheduling: A project management tool such as JIRA or Trello for managing tasks, assigning responsibilities, and tracking progress.
- Version Control: Git or a similar version control system for managing source code and facilitating collaboration among team members.
Three User Personas for the Proposed System:
- Mobile App Developer: Responsible for developing and testing mobile applications. Needs a reliable and efficient automated testing framework to streamline the testing process.
- Quality Assurance Engineer: Focuses on ensuring the quality and reliability of mobile applications. Requires a comprehensive testing framework to automate testing tasks and improve test coverage.
- Project Manager: Oversees the development of mobile applications and requires an automated testing framework to optimize resource utilization, reduce manual efforts, and deliver high-quality products.
Use Case Diagrams and UML Sequence Diagrams
Use Case Diagram:
UML Sequence Diagram:
Mock-ups and Digital Lo-Fi/Mid-Fi Wireframes:
Usability Testing of Lo-Fi Wireframes:
Ethical Considerations
Discuss any ethical considerations associated with your research, such as participant consent, privacy, or potential risks. If necessary, explain how you will address these ethical concerns.
Example of Ethical Considerations
This research will prioritize the privacy and security of user data during testing. All testing procedures will adhere to ethical guidelines, including obtaining informed consent from participants and anonymizing any collected data.
Expected Outcomes and Implications:
Describe the anticipated outcomes of your research and their potential impact. Discuss how your research findings may contribute to the existing knowledge in the field. Highlight any practical applications or benefits that may arise from your research.
Example
This research is expected to yield several outcomes:
- Identification of effective automated testing techniques to enhance user experience and performance in mobile app development.
- Quantitative and qualitative evaluation of the impact of automated testing on the overall development process and time-to-market.
- Improved understanding of the benefits and challenges of automated testing in mobile app development.
- Practical guidelines and best practices for implementing automated testing techniques in the industry.
- The implications of this research include the potential for significant improvements in user satisfaction, app performance, and development efficiency in the mobile app industry.
Budget:
If applicable, include a section on the budget required to conduct the research. Provide a breakdown of the anticipated expenses, such as equipment, materials, participant compensation, or travel costs.
Example of Budget
The proposed research will require funding for software development tools, mobile devices, and participant recruitment. A detailed budget breakdown will be provided, taking into account the resources necessary to conduct the research effectively.
References
Include a list of the references cited throughout your proposal. For the sake of your assessment please follow the APA style in your reference list. It's also crucial to proofread your proposal for clarity, coherence, and grammar before submitting it.
Example of References
Johnson, S. M., & Martinez, K. R. (2021). The Impact of Automated Testing Techniques on Mobile App Development. Journal of Software Engineering, 7(2), 45-62. https://doi.org/10.1234/jse.2021.7.2.45
Thompson, A. (2022). The Effects of Automation on Testing Efficiency in Mobile App Development. International Conference on Software Engineering Proceedings, 185-192. https://doi.org/10.789/icse.2022.185
Smith, J. A. (2022). Automated Testing Approaches for Enhancing User Experience in Mobile Applications. In Proceedings of the ACM International Symposium on Mobile Apps and Services (pp. 123-135). ACM. https://doi.org/10.1145/12345.6789
Jones, R., & Brown, L. (2022). Agile Testing: Best Practices for Mobile App Development. Communications of the ACM, 65(3), 78-89. https://doi.org/10.1145/12345.6789
Conducting a literature review is an essential step in the research process. It involves reviewing and analysing existing scholarly works, such as journal articles, books, conference papers, and dissertations, relevant to your research topic. A well-executed literature review helps you understand the current state of knowledge, identify research gaps, and situate your own research within the broader academic context. Let’s take a look at the steps to guide you through the process of conducting a literature review:
- Define your research question or objective: Clearly articulate the specific research question or objective that you want to address through your literature review. This will help you focus your search and determine the relevant literature to review. We will look at this in detail in the subtopic ‘11.3.3 Develop Research Questions’.
- Identify appropriate sources: Start by identifying the key databases, libraries, or online platforms that provide access to scholarly literature in your field. Common databases include PubMed, IEEE Xplore, ACM Digital Library, Google Scholar, and library catalogues. Use relevant keywords and search terms to conduct a comprehensive search. Consider synonyms, related concepts, and variations of your keywords to broaden your search and capture a wide range of literature.
- Refine your search: Filter and refine your search results based on relevance and inclusion criteria. Skim through the titles and abstracts of the articles to identify those that align with your research question or objective. Pay attention to the publication date to ensure you review recent and up-to-date literature. However, it's also important to include seminal works and foundational studies that are relevant to your topic.
- Read and evaluate the literature: Thoroughly read the selected articles, books, or other sources. Take notes as you read to capture important information, key findings, methodologies, and relevant arguments. Evaluate the quality and credibility of the sources. Consider the author's credentials, the publication venue, and peer-reviewed status to assess the reliability of the work. Look for patterns, trends, and gaps in the literature. Identify common themes, debates, or unresolved issues that emerge from your review.
- Organize and synthesize the literature: Create a systematic method to organize the information you gather. This can be done through manual notetaking, using citation management software, or employing a matrix or table to record key details from each source. Group the literature based on themes, concepts, or methodologies. Identify common threads and relationships among the sources. Synthesize the information by summarizing the main findings, methodologies, and arguments of each source. Compare and contrast different perspectives and approaches.
- Identify research gaps and formulate research questions: Based on your analysis of the literature, identify any gaps or unanswered questions in the existing research. These gaps will guide the development of your own research questions or objectives. Formulate specific research questions that build upon the gaps in the literature and contribute to advancing knowledge in your field.
- Document and cite your sources: Keep a comprehensive record of all the sources you review, including full bibliographic details, in-text citations, and any annotations or notes you make. Follow the APA style to ensure accuracy and coherence in your citations and references. We will look at this in detail in the subtopic ‘11.4.4 APA Referencing'.
Utilising the example research proposal on automated testing techniques for mobile app development in subtopic ‘XX.X Structure’ let's consider some of the potential starting points for the literature review.
- Review existing literature on different automated testing techniques used in mobile app development, such as functional testing, performance testing, usability testing, and compatibility testing.
- Explore the benefits, limitations, and challenges associated with each automated testing approach.
- Identify studies that demonstrate the effectiveness of automated testing in improving the quality and user experience of mobile applications.
- Examine research on user experience (UX) principles, best practices, and methodologies specifically related to mobile applications.
- Understand the factors that contribute to a positive user experience, including usability, intuitiveness, responsiveness, and visual appeal.
- Identify studies or frameworks that propose methods for evaluating and improving UX in mobile app testing, such as user feedback, usability testing, and user-centred design principles.
- Investigate research on performance optimization techniques for mobile applications, including methods to improve app responsiveness, minimize latency, and enhance resource utilization.
- Review studies on automated performance testing approaches, load testing, stress testing, and other techniques used to identify and address performance bottlenecks.
- Consider studies that propose algorithms, methodologies, or frameworks specifically designed to optimize performance in mobile applications.
- Examine research on the integration of automated testing into the software development lifecycle, particularly in mobile app development.
- Investigate studies that explore the impact of automated testing on development efficiency, cost-effectiveness, and time-to-market.
- Consider research that discusses the challenges and benefits of incorporating automated testing into agile or continuous integration/continuous deployment (CI/CD) practices.
- Stay up to date with the latest industry trends, advancements, and emerging technologies related to automated testing in mobile app development.
- Identify case studies or industry reports that highlight the successful implementation of automated testing techniques and their impact on user experience, performance, and development processes.
- Consider guidelines, standards, or frameworks proposed by reputable organizations or industry bodies in the field of mobile app development and quality assurance.
- Identify gaps, controversies, or unanswered questions in the existing literature that your research aims to address.
- Consider areas where further research is needed, such as specific aspects of user experience, novel testing methodologies, or the integration of automated testing into evolving mobile app development practices.
A literature review is an iterative process, and you may need to revisit and refine your search as you delve deeper into the topic. It's also important to critically evaluate and analyse the literature rather than simply summarizing the works. By conducting a thorough and well-structured literature review, you will lay the foundation for your research, contribute to the existing knowledge, and identify the gaps that your research can fill.
Articulating a specific research question is a crucial step in the research process. It helps define the focus and scope of your study, guiding your investigation and providing a clear direction for your research. Like the ideation process covered in CS203, defining your research questions can follow a standard process.
- Identify the broad topic or area of interest: Start by identifying the general area or topic that you want to explore. This could be related to your field of study, a specific problem, or an area of curiosity.
- Conduct preliminary exploration and background research: Before formulating a specific research question, conduct some preliminary exploration and background research on the chosen topic. Read relevant literature, review existing studies, and gain a deeper understanding of the current state of knowledge in the field. This will help you identify gaps, controversies, or unanswered questions that can serve as a foundation for your research question.
- Define the scope and boundaries of your study: Consider the scope and limitations of your research. Determine the specific aspects or dimensions that you want to investigate within the broader topic. Define any constraints or boundaries that may impact your research, such as time, resources, or access to data.
- Brainstorm potential research questions: Start generating potential research questions by brainstorming ideas related to your topic. Consider the different angles, perspectives, and dimensions of your research. Think about what you want to explore, explain, or investigate in your study.
- Refine and narrow down the research questions: Review the potential research questions you have brainstormed and refine them to make them more specific, focused, and answerable. Ensure that your research question is clear, concise, and directly addresses the objectives of your study. Consider the feasibility and practicality of your research question, taking into account available resources, time constraints, and ethical considerations.
- Evaluate the research question: Evaluate your research question based on its relevance, significance, and novelty. Consider its potential impact on the field and whether it addresses a gap or contributes to existing knowledge. Ensure that your research question aligns with your own interests, expertise, and objectives of your research project.
- Seek feedback and revision: Share your research question with peers, mentors, or experts in the field. Seek feedback and suggestions for improvement. Revise and refine your research question based on the feedback received, making it more precise and focused.
- Finalize the research question: After incorporating feedback and revising your research question, finalize it as the guiding question for your study. Ensure that your research question is specific, focused, and capable of being answered through empirical research or investigation.
Let's take a look at the Research Questions used in the example of the research proposal in sub-topic ‘XX.X Structure’
- How can automated testing techniques be applied to enhance the user experience of mobile applications?
- What automated testing approaches can improve the performance and responsiveness of mobile apps?
- How do automated testing techniques impact the overall development process and time-to-market?
Case Study
In this case study, let's consider a software development company that specializes in mobile application development. The company has noticed that ensuring a high-quality user experience and optimal performance in their mobile apps is a critical factor for success in the competitive app market. They are interested in exploring automated testing techniques to improve the user experience, enhance performance, and streamline the overall development process.
Identifying the Broad Topic: The broad topic of interest is "automated testing techniques for enhancing user experience and performance in mobile applications."
Preliminary Exploration and Background Research: The development team conducts a literature review and explores existing studies, articles, and industry reports on automated testing techniques in mobile app development. They gain insights into the benefits, challenges, and trends related to automated testing in enhancing user experience and performance.
Defining the Scope and Boundaries: The company focuses on mobile applications developed for the Android platform and aims to investigate how automated testing techniques can be applied to improve user experience and performance. They consider the limitations of available resources, development timelines, and access to necessary tools and technologies.
Defining the Scope and Boundaries: During brainstorming sessions and discussions with the development team and quality assurance team, several potential research questions are generated:
Evaluating the Research Questions: The company evaluates the research questions based on their relevance, feasibility, and potential impact. They consider the gaps in the existing literature and the potential benefits of addressing these questions.
Seeking Feedback and Revision: The research questions are shared with experts in the field, including developers, quality assurance professionals, and researchers. Feedback is gathered, and suggestions for improvement are considered.
Finalizing the Research Questions: After incorporating the feedback, the company finalizes the research questions as the guiding questions for their study. The research questions are clear, focused, and capable of being answered through empirical research or investigation.
- How can automated testing techniques be leveraged to analyze and optimize user interface interactions and usability in mobile applications?
- Which automated testing approaches can effectively identify and resolve performance bottlenecks and improve responsiveness in mobile apps?
- What impact do different automated testing techniques have on the overall development process and time-to-market of mobile applications?
A well-articulated research question sets the stage for your study, providing clarity and focus. It guides the research design, methodology, and analysis, enabling you to conduct a meaningful and purposeful investigation.
Yoobee Colleges uses the APA version 7 referencing style and as such, we have provided an overview of this below for use in your assessment. APA (American Psychological Association) referencing is a widely used citation style that provides a standardized format for citing sources in academic and research writing.
Always begin your reference list on a new page, titled "References," at the end of your document. Use a hanging indent for each entry, where the first line is flush left and subsequent lines are indented.
Alphabetize the entries by the author's last name.
You can review the APA reference style for each of the different source types by expanding on the type below.
- Format: Author's Last Name, Author's Initial(s). (Year). Title of Book. Publisher.
- Example: Smith, J. A. (2021). The Art of Writing: A Comprehensive Guide. Penguin Publishers.
- Format: Author's Last Name, Author's Initial(s). (Year). Title of Article. Title of Journal, Volume(Issue), Page Range. DOI or URL (if applicable).
- Example: Johnson, S. M., & Martinez, K. R. (2020). The Impact of Technology on Education. Journal of Educational Technology, 15(2), 25-42. doi:10.xxxxxxx
- Format: Author's Last Name, Author's Initial(s). (Year). Title of Web Page. Site Name. URL.
- Example: Thompson, A. (2019). The Effects of Climate Change. Environmental Studies Online. https://www.environmentalstudiesonline.com/effects-of-climate-change/
- For direct quotations, include the author's last name, year of publication, and page number(s) in parentheses.
- Example: (Smith, 2021, p. 45)
- For paraphrased or summarized information, include the author's last name and year of publication in parentheses.
- Example: (Johnson & Martinez, 2020)
- For works with two authors, include both authors' last names in the reference and in-text citation.
- For works with three or more authors, include the first author's last name followed by "et al." in the reference and in-text citation.
- If a DOI (Digital Object Identifier) is available, include it at the end of the reference. If not, include the URL of the webpage or the homepage URL of the website.