Latest CTAL-TTA Exam Dumps ISTQB Exam from Training Expert DumpsTests [Q48-Q66]

Share

Latest CTAL-TTA Exam Dumps ISTQB Exam from Training Expert DumpsTests

Pass ISTQB Certified Tester Advanced Level Technical Test Analyst PDF Dumps | Recently Updated 175 Questions

NEW QUESTION # 48
You have run static analysis tools against four large, complex code components (A, B, C, and D) with the following measures reported:
(Insert Table 1)
You must decide which component should be selected FIRST for applying maintainability improvements. The combination of Cohesion and Coupling is regarded as the MOST important factor, v/ith the number of repeated code sections as the next important factor.
Which component should you select?

  • A. Component C
  • B. Component D
  • C. Component A
  • D. Component B

Answer: D

Explanation:
When deciding which component to select first for maintainability improvements, it's essential to prioritize the most critical factors. In this case, the combination of Cohesion and Coupling is the most important factor, followed by the number of repeated code sections.
* Cohesion and Coupling:
* High Cohesion and Low Coupling are desirable qualities in software components. High cohesion means that the component's responsibilities are closely related, making the component easier to understand, test, and maintain. Low coupling means that the component has fewer dependencies on other components, making it less prone to ripple effects from changes in other parts of the system.
* Conversely, Low Cohesion and High Coupling indicate poor design quality. Low cohesion suggests that the component has many unrelated responsibilities, which can make it harder to maintain and understand. High coupling indicates that the component is highly dependent on other components, which can lead to more significant maintenance challenges due to the ripple effect of changes.
* Number of Repeated Code Sections:
* Repeated code sections are also an important factor because they can indicate code duplication, which can lead to inconsistencies and higher maintenance costs. Reducing the number of repeated code sections can improve maintainability by promoting reusability and reducing redundancy.
Based on the given measures:
* Component A has high cohesion and low coupling, which are desirable. It also has a moderate number of repeated code sections (4).
* Component B has low cohesion and high coupling, which are the worst in terms of design quality. It also has the highest number of repeated code sections (5).
* Component C has low cohesion and high coupling, which are poor in terms of design quality. It has the lowest number of repeated code sections (2).
* Component D has high cohesion and low coupling, which are desirable. It also has the highest number of repeated code sections (5).
Considering the most important factor first (Cohesion and Coupling):
* Component B and Component C are both poor in terms of cohesion and coupling, but Component B is
* worse because it has a higher number of repeated code sections than Component C.
* Component A and Component D are both good in terms of cohesion and coupling, but they are less critical to address first than the poor components.
Therefore, Component B should be selected first for applying maintainability improvements because it has the poorest combination of low cohesion and high coupling, along with the highest number of repeated code sections. This aligns with the prioritization criteria provided.
References:
* The importance of Cohesion and Coupling in software design is well-documented in the ISTQB CTAL-TTA syllabus and other software engineering literature. (Refer to ISTQB-CTAL-TTA Syllabus v4.0)
* The analysis aligns with the sample exam question and answer pattern found in the ISTQB CTAL-TTA Sample Exam Questions and Answers documents. (Refer to ISTQB_CTAL-TTA_Sample-Exam-Questions_v4.1 and ISTQB_CTAL-TTA_Sample-Exam-Answers_v4.1)


NEW QUESTION # 49
You are an experienced tester on an Agile team that is producing a new application. The product backlog has been refined sufficiently to begin development for the first release. This stories in this backlog contain a mixture of functional and non-functional requirements, as well as some technical stories that will provide elements of the application's infrastructure The developers have decided to use TDD as a deveiopment approach but automation of the acceptance tests is not yet planned.
You have been asked to recommend whether or not the team should take an atdd approach as well as TDD.
what would be the BEST recommendation in these circumstances?
SELECT ONE OPTION

  • A. YES. use attd, but for the functional requirements only because it cannot be applied to non-functional or technical requirements.
  • B. NO. do not use atdd. because it is not compatible with the developers' TDD approach.
  • C. YES. use ATTD for all requirements including non-functional and technical stories.
  • D. NO. do not use ATDD, because it will not work when the acceptance tests are not automated

Answer: C

Explanation:
Acceptance Test-Driven Development (ATDD) enhances both functional and non-functional aspects of the project, providing a collaborative approach to acceptance criteria that developers, testers, and stakeholders agree upon before development begins. Using ATDD alongside TDD (Test-Driven Development) ensures that both the internal system logic and the user-facing features adhere to the specified requirements, thereby increasing the likelihood of delivering a quality product that meets all stakeholders' expectations .


NEW QUESTION # 50
You need to implement a Java class that validates a password entry field. The validation critena states that the password must:
1. be a minimum of 8 characters
2 contain at least one special character.
You are focusing on validation criterion 1 and have written a test class that checks that a 7 character password entry will fail validation.
You have written code designed to make this test class pass, however, on first execution of the test class it has failed What should you do next9 SELECT ONE OPTION

  • A. Add code to cover special character validation criterion 2
  • B. Refactor the failing code to improve its design and structure
  • C. Repair the failing code and re-execute it for the test class
  • D. Develop a test class with a 9 character password containing one special character and re-execute the code

Answer: C

Explanation:
When a test class that validates a specific criterion (such as the minimum length of a password) fails, the immediate next step is to repair the failing code and re-execute the test. This approach adheres to the test-driven development (TDD) practices, where the cycle of writing a failing test, making it pass, and then refactoring is repeated. It ensures that each validation criterion is correctly implemented before moving on to additional functionalities or validations .


NEW QUESTION # 51
You are a Technical Test Analyst preparing load test scripts. You have been invited to a technical review of the system's operational profile document produced by the business. The meeting is next week, during your preparation you notice that volumetric data covering projected transaction volumes will be held in a separate document that will not be available before the meeting. What would be the BEST course of action?

  • A. Request that the meeting be delayed until the volumetric document has been drafted and examined by the reviewers
  • B. To avoid delay to the project, attend the review as scheduled and raise the issue at the meeting
  • C. State that you are not a mandatory reviewer but request that both documents be sent to you once agreed
  • D. Delay the review but limit schedule impact by presenting the volumetric document to the reviewers during the meeting

Answer: B

Explanation:
Analysis:
When faced with incomplete documentation during test preparation, it is important to balance the need for thoroughness with the need to maintain project schedules.
B: To avoid delay to the project, attend the review as scheduled and raise the issue at the meeting:
* This option ensures that the review proceeds as planned, preventing project delays. By raising the issue during the meeting, you can highlight the importance of the missing volumetric data and ensure it is addressed promptly.
Explanation of Incorrect Options:
* A: Request that the meeting be delayed until the volumetric document has been drafted and examined by the reviewers:
* Delaying the meeting might cause project delays and may not be necessary if the issue can be addressed in the meeting.
* C: State that you are not a mandatory reviewer but request that both documents be sent to you once agreed:
* This might cause you to miss important discussions in the review meeting.
* D: Delay the review but limit schedule impact by presenting the volumetric document to the reviewers during the meeting:
* This could still result in delays and does not ensure that all necessary information is reviewed in a timely manner.
References:
The ISTQB CTAL-TTA syllabus emphasizes the importance of timely reviews and addressing issues promptly to avoid delays.
Sources:
* ISTQB-CTAL-TTA Syllabus
* General knowledge on review processes and handling incomplete documentation.


NEW QUESTION # 52
Given the following decision: IF X < 5 OR Y > 10 THEN
And the following test inputs: X=6 and Y=12, X=5 and Y=10
Which of the following additional sets of test inputs will ensure that full Multiple Condition coverage is achieved?

  • A. X=0 and Y=10
    X=4 and Y=4
  • B. X=4 and Y=7
    X=10 and Y=15
    X=8 and Y=8
  • C. X=3 and Y=10
    X=0 and Y=15
  • D. X=2 and Y=12
    X=6 and Y=4

Answer: D

Explanation:
For Multiple Condition Coverage, each combination of conditions must be tested to ensure all possible outcomes are covered. Given the decision IF X < 5 OR Y > 10 THEN and the test inputs X=6 and Y=12 and X=5 and Y=10, we need to find additional test cases to achieve full coverage. The conditions are:
* Condition 1: X < 5
* Condition 2: Y > 10
Let's examine the options:
* Option A:
* X=4 and Y=7 (X < 5 is true, Y > 10 is false; overall decision true)
* X=10 and Y=15 (X < 5 is false, Y > 10 is true; overall decision true)
* X=8 and Y=8 (X < 5 is false, Y > 10 is false; overall decision false) This set covers all possible outcomes but does not provide the minimal set for MC/DC.
* Option B:
* X=0 and Y=10 (X < 5 is true, Y > 10 is false; overall decision true)
* X=4 and Y=4 (X < 5 is true, Y > 10 is false; overall decision true)
This set does not fully achieve multiple condition coverage as it misses the combination where X < 5 is false and Y > 10 is true.
* Option C:
* X=2 and Y=12 (X < 5 is true, Y > 10 is true; overall decision true)
* X=6 and Y=4 (X < 5 is false, Y > 10 is false; overall decision false) This set, combined with the initial inputs (X=6 and Y=12, X=5 and Y=10), ensures that all condition combinations are tested, achieving full multiple condition coverage.
* Option D:
* X=3 and Y=10 (X < 5 is true, Y > 10 is false; overall decision true)
* X=0 and Y=15 (X < 5 is true, Y > 10 is true; overall decision true)
This set does not fully achieve multiple condition coverage as it does not test the combination where both conditions are false.
Therefore, the correct answer is C. X=2 and Y=12, X=6 and Y=4.


NEW QUESTION # 53
You are working on an internet banking project. Your company is offering this product to the financial market.
For each new customer, some customization will typically be needed. To make the product successful there is a strong focus during development on a reliable and maintainable architecture. To support architectural reviews, a checklist will be developed. Within the checklist specific sections will be attributed to reliability and maintainability.
Which question from the list below should you include in the maintainability section of the architectural review checklist?

  • A. Does the password protection of the system adhere to the latest regulations?
  • B. Will the system use n-version programming for critical components?
  • C. Does the system have user-friendly error messages?
  • D. Will the user interface be implemented independently from the other software modules?

Answer: D

Explanation:
In the context of an internet banking project where reliability and maintainability are emphasized, a key factor for maintainability is the modularity of the system. Implementing the user interface independently from other software modules (answer B) can significantly enhance maintainability. This is because it allows changes to be made to the user interface without impacting the underlying business logic or data access layers, making the system more adaptable to change. This kind of separation of concerns is a recognized best practice in software design for maintainability. The other options (A, C, and D) relate more to reliability and security aspects than to maintainability.


NEW QUESTION # 54
Which of the following is a generic risk factor that should be considered by a Technical Test Analyst during a product risk analysis?

  • A. High change rate of business requirements.
  • B. Frequency of use of the affected feature by end-users.
  • C. Complexity of new technology.
  • D. Visibility of failure leading to negative publicity and potential image damage.

Answer: C

Explanation:
A Technical Test Analyst during a product risk analysis would consider the complexity of new technology as a generic risk factor. Complex new technology can introduce uncertainties and potential issues that may not be well-understood, which can increase the risk of defects. Frequency of use, visibility of failure, and high change rate of business requirements are also valid considerations, but they are more specific to particular scenarios or aspects of the product rather than the generic technological complexity which is always a concern regardless of the context.


NEW QUESTION # 55
Which statement about component testing tools and build automation tools is TRUE?

  • A. Build automation tools allow users to change variable values during execution and step through the code of each component line by line
  • B. Component testing tools are not used for writing tests at component level but to automate the component testing
  • C. Build automation tools cannot be used to periodically schedule the builds, for example during the night
  • D. In a full continuous integration process, build automation tools are typically used to trigger the builds by every commit to a repository

Answer: D

Explanation:
Analysis:
Understanding the roles and functionalities of component testing tools and build automation tools is crucial for effective software development and testing processes.
B: In a full continuous integration process, build automation tools are typically used to trigger the builds by every commit to a repository:
* This is a fundamental function of build automation tools in continuous integration environments. They automatically trigger builds whenever code changes are committed to the repository, ensuring that the codebase is continuously tested and integrated.
Explanation of Incorrect Options:
* A. Build automation tools allow users to change variable values during execution and step through the code of each component line by line:
* This describes a function of debugging tools, not build automation tools.
* C. Build automation tools cannot be used to periodically schedule the builds, for example during the night:
* This is incorrect as build automation tools can indeed schedule builds at specified times.
* D. Component testing tools are not used for writing tests at component level but to automate the component testing:
* Component testing tools are used for writing and automating tests at the component level.
References:
The ISTQB CTAL-TTA syllabus and standard practices in continuous integration and build automation highlight the role of build automation tools in triggering and scheduling builds.
Sources:
* ISTQB-CTAL-TTA Syllabus
* General knowledge on continuous integration and build automation.


NEW QUESTION # 56
Consider the pseudo code provided below:

Given the following tests, what additional test(s) (if any) would be needed in order to achieve 100% statement coverage, with the minimum number of tests?
Test 1: A = 7, B = 7, Expected output: 7
Test 2: A = 7, B = 5, Expected output: 5

  • A. A=6, B=12, Expected output: Bingo!
  • B. A=6, B=12, Expected output: Bingo! and A=7, B=9, Expected output: 7
  • C. A=7, B=9, Expected output: 7
  • D. No additional test cases are needed to achieve 100% statement coverage.

Answer: D

Explanation:
100% statement coverage means that every line of code is executed at least once during testing. Based on the provided pseudo-code and the test cases given:
Test 1 executes the MIN = B statement when A and B are equal.
Test 2 executes the MIN = A statement and skips the inner IF since B is not equal to 2*A.
All statements within the code have been executed by these two tests, hence no additional test cases are needed to achieve 100% statement coverage.


NEW QUESTION # 57
You are working on the first release or an online dating service product Market research has shown that the site can expect to experience its heaviest usage during the months of January March June October. November and December During these months usage can be 2 to 10 times higher than dunng other times it has also been determined that people win not tolerate a wait time higher than 2 seconds for queries made regarding potential dates who have selected their profile Extensive usability studies have been done by the marketing department, including work with focus groups and comparative analysis of other similar sites The analysis on the project have provided detailed Ul mockups in reading the design documents, you have discovered that the marketing team plans to run reports to analyze usage patterns to improve the advertising What item on the architecture review checklist will be important to verify to ensure these reports don't impact the user response time?

  • A. Load balancing
  • B. Process isolation between OLTP and OLAP
  • C. Connection pooling
  • D. Lazy Instantiation

Answer: B

Explanation:
For an online dating service experiencing heavy usage, particularly important in the architecture review checklist is to verify the process isolation between OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing). This ensures that heavy reporting activities do not impact the real-time transactional processes that affect user experience, such as query response times. Ensuring process isolation allows both systems to operate efficiently without interference, critical during peak usage times .


NEW QUESTION # 58
You are reviewing the following Java function that determines whether a number input by the user is even or odd:
import java.util.Scanner;
public class OddOrEven {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("Please enter a number: ");
int number = reader.nextInt();
if (number % 2 == 0) {
System.out.println("Your input number '" + number + "' is even.");
} else {
System.out.println("Your input number '" + number + "' is odd.");
}
}
}
You are guided by the following checklist:
*All variables must start with a Capital letter
*All output messages must start with a Capita letter
*There must be a clear comment when explaining the purpose of the dress
How many checklist items Mve been fuelled7
SELECT ONE OPTION

  • A. 0
  • B. None
  • C. 1
  • D. 2

Answer: D

Explanation:
Only one of the checklist items has been fulfilled in the Java function provided. Option C is correct.
* Checklist Review:
* Capitalization of Variables: The variable 'Number' does start with a capital letter, fulfilling this checklist item.
* Capitalization of Output Messages: The output messages do not start with a capital letter following the prompt text (e.g., 'your input number...'), failing this checklist item.
* Comment Line: There is no comment line explaining the purpose of the class or method, failing this checklist item.
Thus, only the requirement regarding the capitalization of the variable is met, indicating a partial adherence to the specified coding standards .


NEW QUESTION # 59
Below is the pseudo-code for the bingo program:

The bingo program contains a data flow anomaly. Which data flow anomaly can be found in this program?

  • A. An invalid value is assigned to variable "B".
  • B. Variable "AB is defined but subsequently not used.
  • C. The hard-coded value '2" should not be used.
  • D. Variable "MIN" is not assigned a value before using it.

Answer: D

Explanation:
In the provided pseudo-code for the Bingo program, the variable MIN is used in the statement MIN = MIN + A without being initialized with a value beforehand. This represents a classic 'use before define' anomaly, as the variable MIN must have an initial value before any operation like addition can be performed on it.


NEW QUESTION # 60
You are working for a company that has a product in the field that has reached its capacity. The system cannot handle any more users without a significant degradation in performance and a significant spike in resource requirements. As a result, your new product has strict requirements for performance efficiency and a specific growth requirement that is estimated for the next three years.
What type of testing should you conduct to make sure the future requirements will be met?

  • A. Time-behavior testing
  • B. Stress testing
  • C. Scalability testing
  • D. Load testing

Answer: C

Explanation:
For a product that has reached its capacity limits and requires testing to ensure it can handle projected growth, scalability testing is the most appropriate. Scalability testing evaluates a system's ability to manage an increasing workload without compromising performance or other operational capabilities. This type of testing will help confirm whether the system can handle the estimated increase in load, which is aligned with the strict performance efficiency and growth requirements for the next three years


NEW QUESTION # 61
Your Agile team is developing a web-based system that will allow users to browse and buy online from a store's shopping catalogue. Continuous Integration has been implemented and technically it is working well, running several times per day, but each run is taking almost as much time as the team is prepared to allow. It is clear that after a few more iterations, as the number of tests needed grows with the product, it will be taking too much time.
Which of the four options contains a pair of solutions that will BOTH help to solve this problem?
a.Only include unit and component integration tests in the automated Cl runs.
b.Schedule low priority tests to be the first ones executed in each run, in order to provide rapid build verification.
c.Reduce the extent to which the automated tests go through the user interface, using technical interfaces instead.
d.Reduce the number of Cl cycles run each day.
e.Select a subset of automated tests for the daytime Cl runs, and run as many of the other tests as possible in an overnight cycle.
SELECT ONE OPTION

  • A. a and c
  • B. b and d
  • C. d and e
  • D. c and e

Answer: D

Explanation:
The correct option for addressing the issue of increasing test run times in a Continuous Integration (CI) environment is option C: reducing the extent to which automated tests go through the user interface, and selecting a subset of automated tests for the daytime CI runs while running many of the other tests in an overnight cycle.
* Reducing User Interface Tests: By reducing the extent of tests that go through the user interface (UI) and using technical interfaces instead, you can significantly decrease the time each test takes. UI tests are generally slower due to rendering and user interaction simulations.
* Optimizing Test Scheduling: By selecting only a subset of tests for daytime CI runs and scheduling extensive testing for overnight runs, the team can manage the test load better without compromising the frequency of integration, thus ensuring continuous testing does not become a bottleneck.
This dual approach effectively manages both the execution time of individual tests and the overall test process across the development cycle, maintaining the agility of the CI process without sacrificing the breadth of testing necessary for quality assurance .


NEW QUESTION # 62
You are testing software that will be used in nuclear power plants. The particular piece of code you are testing has been classified as SIL 2. The following section of code falls under this classification:
If ((A > B) or (C > D)) and (E = F) then print A
Endif
Which of the following sets of test data would supply the minimum tests needed to achieve the "highly recommended" level of coverage?

  • A. Set 3
  • B. Set 2
  • C. Set 5
  • D. Set 1

Answer: D

Explanation:
In software testing, especially within contexts like nuclear power plants, achieving a "highly recommended" level of coverage often requires strategic test case selection to verify all logical conditions are accurately assessed. For the condition "If ((A > B) or (C > D)) and (E = F) then print A", the critical tests involve evaluating the boolean logic.
* Test Case Analysis: Test Set 1 is selected because it should ideally include scenarios where:
* Both conditions (A > B) and (C > D) are true, and (E = F) is true to ensure the print statement executes.
* One of the conditions (A > B) or (C > D) is false while the other is true, combined with (E = F) being true, to test the OR logic.
* Both conditions (A > B) and (C > D) are false with (E = F) being true, which should not trigger the print statement, testing the AND logic.
* Condition where (E != F), irrespective of other conditions, to confirm that the print statement does not execute.


NEW QUESTION # 63
Which statement about test automation being applied to a reactive test approach, is CORRECT' SELECT ONE OPTION

  • A. For projects that must comply with externally defined regulations, the automated tests and their results must be traceable back to requirements
  • B. Automation of test execution in exploratory test sessions can lead to increased efficiency and wider coverage of user stories
  • C. An increase in automated test coverage can lead to a greater degree of exploratory testing addressing high risk areas
  • D. BDD can be used within a reactive testing approach by producing automated tests in parallel with the implementation of the user story

Answer: C

Explanation:
Increasing automated test coverage frees up valuable time for testers, allowing them to focus more on exploratory testing, particularly in high-risk areas. This approach leverages the efficiency of automation to handle routine, repeatable testing tasks, while human testers can focus their expertise on more complex, risk-prone areas that require creative and critical thinking .


NEW QUESTION # 64
The last release of a hotel booking website resulted in poor system performance when hotel searches reached peak volumes. To address these problems in the forthcoming release, changes to the system architecture are to be implemented as follows:
Change 1 - Provision of a single Internet service using multiple servers, rather than a single server, to maximize throughput and minimize response time during peak volumes Change 2 - Prevention of unnecessary database calls for objects that were not immediately needed by the calling applications. Achieved by not automatically creating database connections at the start of processing, instead only just before the data is required.
The system architecture document has been drafted and as Technical Test Analyst you have been invited to participate in its review. Which of the following review checklist items is MOST likely to identify any defects in the proposed system architecture for Change 2?

  • A. Caching
  • B. Connection pooling
  • C. Data replication
  • D. Lazy instantiation

Answer: D

Explanation:
Analysis:
For Change 2, the goal is to prevent unnecessary database calls by delaying the creation of database connections until they are actually needed. This approach is known as lazy instantiation.
C: Lazy instantiation:
* Lazy instantiation is a design pattern that defers the creation of an object until the point at which it is needed. This can help improve performance by reducing unnecessary resource consumption. In the context of database connections, it ensures that connections are only established when required, thus avoiding unnecessary overhead.
Explanation of Incorrect Options:
* A. Connection pooling:
* Connection pooling involves reusing database connections from a pool rather than creating new ones each time. While this improves efficiency, it does not specifically address the issue of deferring database connections until needed.
* B. Data replication:
* Data replication refers to copying data across multiple databases to ensure consistency and availability. It is not directly related to managing when database connections are established.
* D. Caching:
* Caching involves storing frequently accessed data in memory to improve retrieval times. While beneficial for performance, it does not address the specific issue of delaying database connections.
References:
The ISTQB CTAL-TTA syllabus and standard software architecture practices highlight the importance of design patterns such as lazy instantiation for optimizing resource usage and performance.
Sources:
* ISTQB-CTAL-TTA Syllabus
* General knowledge on software architecture design patterns.


NEW QUESTION # 65
Consider the following section of pseudo code and associated test Input data:
If withdrawal-amount <= amount-on-deposit then Set authorize-transaction = true Else If withdrawal-amount <= S100 AND preferred-customer = true then Set authorize-transaction = true Else Set authorize-transaction = false Endif Endif Input data set #1 withdrawal-amount = 160 amount-on-deposit = 100 preferred-customer = true Input data set #2 withdrawal-amount = 500 amount-on-deposit = 500 preferred-customer = false Input data set #3 withdrawal-amount = 50 amount-on-deposit = 500 preferred-customer = false What would be the decision coverage achieved if each of these test input data sets were run once?

  • A. 0%
  • B. 50%
  • C. 33%
  • D. 100%

Answer: D

Explanation:
To achieve decision coverage, each branch of the decision structure in the code must be executed at least once.
The code snippet has three branches:
* withdrawal-amount <= amount-on-deposit
* withdrawal-amount <= $100 AND preferred-customer = true
* Default case where the transaction is not authorized
* Data set #1 triggers the second branch because the withdrawal amount is not less than the amount on deposit, but it is less than $100, and the user is a preferred customer.
* Data set #2 triggers the first branch where the withdrawal amount is equal to the amount on deposit.
* Data set #3 tests the condition where the withdrawal amount is less than the deposit amount, but the user is not a preferred customer, triggering the default case.
All decision branches are covered by these test cases, achieving 100% decision coverage.


NEW QUESTION # 66
......

Updated Test Engine to Practice CTAL-TTA Dumps & Practice Exam: https://www.dumpstests.com/CTAL-TTA-latest-test-dumps.html

Dumps Collection CTAL-TTA Test Engine Dumps Training With 175 Questions: https://drive.google.com/open?id=1RklyKvedDcFoizhzDchJB9Zff3Xo84di